我有两个表如下所示:
然后我尝试添加一个外键约束,如下所示:
mysql> ALTER TABLE `Order`
-> ADD CONSTRAINT `FK_baseline_order`
-> FOREIGN KEY `baselineId`
-> REFERENCES `Baseline` (`id`)
-> ON UPDATE CASCADE ON DELETE CASCADE;
我收到以下“语法”错误:
错误1064(42000):您的SQL语法有错误;检查 手册,对应右边的MySQL服务器版本 要在'参考
Baseline
(id
)附近使用的语法 在第4行删除CASCADE'上的ON更新级联
我为我的生活无法弄清楚我做错了什么。我觉得我错过了一些非常明显的东西......
答案 0 :(得分:3)
您还需要在括号之间放置引用列:
ALTER TABLE `Order`
ADD CONSTRAINT `FK_baseline_order`
FOREIGN KEY (`baselineId`) <<<<-- here
REFERENCES `Baseline` (`id`)
ON UPDATE CASCADE ON DELETE CASCADE;
答案 1 :(得分:0)
尝试将外键列放在括号内,如
ALTER TABLE `Order`
ADD CONSTRAINT `FK_baseline_order`
FOREIGN KEY (`baselineId`) <-- Here
REFERENCES `Baseline` (`id`)
ON UPDATE CASCADE ON DELETE CASCADE;