早教吧作业答案频道 -->其他-->
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
表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
▼优质解答
答案和解析
外键的类型不一样!
看了ERROR1005(HY000...的网友还看了以下:
若用如下的SQL语句创建了一个表tab1:CREATETABLEtab1(SCHAR(6)NOTNU 2020-05-31 …
ORACLE表名为变量createPROCEDUREupCreateTable(tableName 2020-06-04 …
db2判断一个日期在给定时间中如chardate(varchar)201108;expdate(v 2020-07-23 …
这两种方法哪种效率高?-技术问答存储关联ID方案1:表结构[ol][*][*]??`id`int( 2020-07-26 …
如果在一个循环中对比两条记录?createtableBBUSERINFOT(USERIDNUMBE 2020-07-26 …
SUSERNAME=:USERNAMEANDSPASSWORD=:PASSWORD";Oracle 2020-07-26 …
getdate(),120),1,4getdate(),120),6,2getdate(),120) 2020-10-29 …
ERROR1005(HY000):Can'tcreatetable'数据库.表n'(errno:12 2020-10-30 …
ERROR1005(HY000):Can'tcreatetable'db.udlend'(errno 2020-10-30 …
sql语句看不懂,今天看了朋友写的一个sql语句,没看懂什么意思,还望高手把它翻译成通俗易懂的中文D 2020-12-26 …