我使用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`)
);
但我无法将食物表更改为添加约束:
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 - 无法添加外键约束
答案 0 :(得分:1)
您指的是外键约束定义中的foodType
表。您应该在添加约束之前创建该表。
此外,该表格应将字段id
作为主键,与foodType_id
的类型相匹配。