MySQL ADD CONSTRAINT失败[Err] 1215 - 无法添加外键约束

时间:2017-03-08 03:08:48

标签: mysql sql

我使用SQL创建了两个表:

CREATE TABLE `dinnertable` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `tableName` varchar(20) DEFAULT NULL,
  `tableStatus` int(11) DEFAULT '0',
  `orderDate` datetime DEFAULT NULL,
  PRIMARY KEY (`id`)
);

CREATE TABLE `food` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `foodName` varchar(20) DEFAULT NULL,
  `foodType_id` int(11) DEFAULT NULL,
  `price` double DEFAULT NULL,
  `mprice` double DEFAULT NULL,
  `remark` varchar(200) DEFAULT NULL,
  `img` varchar(100) DEFAULT NULL,
  PRIMARY KEY (`id`)
);

enter image description here

但我无法将食物表更改为添加约束:

ALTER TABLE food ADD CONSTRAINT fk_food_foodType_id FOREIGN KEY(foodType_id) REFERENCES foodType(id);

使用错误信息:

  

[SQL] ALTER TABLE food ADD CONSTRAINT fk_food_foodType_id FOREIGN KEY(foodType_id)REFERENCES foodType(id);
  [错误] 1215 - 无法添加外键约束

1 个答案:

答案 0 :(得分:1)

您指的是外键约束定义中的foodType表。您应该在添加约束之前创建该表

此外,该表格应将字段id作为主键,与foodType_id的类型相匹配。