1、错误描述
2、错误原因
昨天我对一张表的字段添加外键,保存时一直提示不能添加外键约束
3、解决办法
(1)外键对应的字段数据类型不一致
(2)两张表的存储引擎不一致
(3)设置外键时“删除时”设置为“SET NULL”
于是,我利用排除法,首先查看表的存储引擎,发现都是InnoDB引擎,排除第二条;设置外键时“删除时”设置为“SET NULL”,我改为其他的选项,发现也不能保存,故排除了第三项;接着,我查看了外键对应的字段的数据类型,发现它们竟然不一致
t_stu_info中的id字段是bigint(8),而t_tea_info中的t_stu字段是varchar(20) ,将后者也改为bigint(8),可以成功地保存
故这次错误应该是外键对应的字段的数据类型不一致