如何使用外键和唯一键创建MySQL表

时间:2017-04-27 18:02:49

标签: mysql foreign-keys create-table unique-key

我试图创建数据库的第二个表,但是我遇到了几个错误。这是在我的Ubuntu系统上的MySQL中。

CREATE TABLE `Database_Name`.`Table_Name`(
   `Col_One` INT NOT NULL AUTO_INCREMENT,
   `Col_Two` INT NOT NULL,
   `Col_Three` LONGTEXT NULL,
   `Col_Four` LONGTEXT NULL,
   `Col_Five` INT NULL,
   PRIMARY KEY (`Col_One`),
   FOREIGN KEY (`Col_Two`) REFERENCES `First_Table` (`First_Table_Info`) ON DELETE CASCADE,
   UNIQUE KEY (`Col_Two`, `Col_One`));

它给了我错误1064和错误1170.

SQL运行正常,底部没有FOREIGN KEY和UNIQUE KEY行,所以那些是我认为导致麻烦的行。

操作失败:将SQL脚本应用于数据库时出错。 执行:

CREATE TABLE `Database_Name`.`Table_Name`(
`Col_One` INT NOT NULL AUTO_INCREMENT,
`Col_Two` INT NOT NULL,
`Col_Three` LONGTEXT NULL,
`Col_Four` LONGTEXT NULL,
`Col_Five` INT NULL,
PRIMARY KEY (`Col_One`),
FOREIGN KEY (`Col_Two`) REFERENCES `First_Table` (`First_Table_Info`) ON DELETE CASCADE,
UNIQUE KEY (`Col_Two`, `Col_One`));

错误1046:未选择数据库 SQL语句:

CREATE TABLE `Database_Name`.`Table_Name`(
`Col_One` INT NOT NULL AUTO_INCREMENT,
`Col_Two` INT NOT NULL,
`Col_Three` LONGTEXT NULL,
`Col_Four` LONGTEXT NULL,
`Col_Five` INT NULL,
PRIMARY KEY (`Col_One`),
FOREIGN KEY (`Col_Two`) REFERENCES `First_Table` (`First_Table_Info`) ON DELETE CASCADE,
UNIQUE KEY (`Col_Two`, `Col_One`));

0 个答案:

没有答案