早教吧 育儿知识 作业答案 考试题库 百科 知识分享

ERROR1005(HY000):Can'tcreatetable'数据库.表n'(errno:121)表1如下:CREATETABLE`test`.`test1`(`test11`INTEGERUNSIGNEDNOTNULLAUTOINCREMENT,`test12`VARCHAR(45)NOTNULL,`test13`VARCHAR(45)NOTNULL,`test14`VARCHAR(45)NOTNU

题目详情
ERROR 1005 (HY000):Can't create table '数据库.表n' (errno:121)
表1 如下:
CREATE TABLE `test`.`test1` (
`test1_1` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
`test1_2` VARCHAR(45) NOT NULL,
`test1_3` VARCHAR(45) NOT NULL,
`test1_4` VARCHAR(45) NOT NULL,
`test_5` VARCHAR(45) NOT NULL,
PRIMARY KEY(`test1_1`)
)
ENGINE = InnoDB;
表2如下:
CREATE TABLE `test`.`test2` (
`test2_1` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
`test2_2` VARCHAR(45) NOT NULL,
`test2_3` VARCHAR(45) NOT NULL,
`test1_1` INTEGER UNSIGNED NOT NULL,
`test1_2` VARCHAR(45) NOT NULL,
PRIMARY KEY(`test2_1`),
CONSTRAINT `test1_1` FOREIGN KEY `test1_1` (`test1_1`)
REFERENCES `test1` (`test1_1`)
ON DELETE RESTRICT
ON UPDATE RESTRICT,
CONSTRAINT `test1_2` FOREIGN KEY `test1_2` (`test1_1`)
REFERENCES `test1` (`test1_1`)
ON DELETE RESTRICT
ON UPDATE RESTRICT
)
ENGINE = InnoDB;
表3如下:
CREATE TABLE `test`.`test3` (
`test3_1` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
`test3_2` VARCHAR(45) NOT NULL,
`test3_3` VARCHAR(45) NOT NULL,
`test1_1` INTEGER UNSIGNED NOT NULL,
`test1_2` VARCHAR(45) NOT NULL,
`test1_3` VARCHAR(45) NOT NULL,
PRIMARY KEY(`test3_1`),
CONSTRAINT `test1_1` FOREIGN KEY `test1_1` (`test1_1`)
REFERENCES `test1` (`test1_1`)
ON DELETE RESTRICT
ON UPDATE RESTRICT,
CONSTRAINT `test1_2` FOREIGN KEY `test1_2` (`test1_1`)
REFERENCES `test1` (`test1_1`)
ON DELETE RESTRICT
ON UPDATE RESTRICT,
CONSTRAINT `test1_3` FOREIGN KEY `test1_3` (`test1_1`)
REFERENCES `test1` (`test1_1`)
ON DELETE RESTRICT
ON UPDATE RESTRICT
)
ENGINE = InnoDB;
在这里创建表1(test1)没问题,创建第表2(test2)也没问题,创建表3(test3)的时候就是 ERROR 1005 (HY000):Can't create table 'test.test3' (errno:121)这个错误.
然后把表2(test2)删掉然后创建表3(test3)可以创建,表3(test3)创建完了之后再创建表2的时候 还是这个错误.ERROR 1005 (HY000):Can't create table 'test.test2' (errno:121)
请高手指教.
硬盘空间还剩N多个G
▼优质解答
答案和解析
外键的类型不一样!