解决办法
(1)外键对应的字段数据类型不一致
(2)两张表的存储引擎不一致
(3)设置外键时“删除时”设置为“SET NULL”
于是,我利用排除法,首先查看表的存储引擎,发现都是InnoDB引擎,排除第二条;设置外键时“删除时”设置为“SET NULL”,我改为其他的选项,发现也不能保存,故排除了第三项;接着,我查看了外键对应的字段的数据类型,发现它们竟然不一致
t_stu_info中的id字段是bigint(8),而t_tea_info中的t_stu字段是varchar(20) ,将后者也改为bigint(8),可以成功地保存
故这次错误应该是外键对应的字段的数据类型不一致
本文转自 yntmdr 51CTO博客,原文链接:http://blog.51cto.com/yntmdr/1874386,如需转载请自行联系原作者