有两张表分别是student和xyz,要把student中的xyzid字段作为外键,xyz表中的xyzid为主键
ALTER TABLE student
ADD CONSTRAINT `Fr_xyzid` FOREIGN KEY(`xyzid`) REFERENCES `xyz`(`xyzid`);
/**ADD CONSTRAINT <约束名> FOREIGN KEY(`引用列`) REFERENCES `主表`(`主键`)*/
查询出如下链接有外键的子表对应的主表中没有数据
于是对xyz表添加了一些数据
查得如下链接外键null约束与Unsigned约束一定要与主键一样,否则就报错
到此时我仍然是满脸懵逼的状态,又去仔细的对比了外键列和被引用列的参数设定
此时我对自己的SQL语句产生怀疑,没办法使用SQLyog中可视化的添加外键方法竟然还是报错,而且提示的SQl语句和我自己写的没差别,并变成了如下错误
再找一个回答1452三种原因
应该是第三种什么什么不匹配的问题
解决方法就是删除外键列,重新添加空值外键列(这里说的就是student表中的xyzid这一列)
并且在重新添加时还是要注意和xyz表中主键设置一致
这次再使用可视化添加外键成功
删除外键
再次使用执行SQL语句添加外键
成功!