MySQL篇:bug1_navicat添加外键保存后不起作用(消失)

发布时间 2023-09-13 11:47:34作者: Oten

问题

在Nacicat premium中添加外键一保存就消失
用SQL语句也显示创建成功,没有报错,可是在INSERT中又起不到约束作用

解决办法

参考一下资料发现可能是表的类型不支持外键
要在 MySQL 声明外键,用户应该紧记几个要点:

两个表必须是 InnoDB 类型。
在参考的表,必须有一个索引,参考的列被行为第一列的排序相同。
不支持索引前缀在外键列。
InnoDB 需要索引在外键和参考键,以便外键检查可以快速,不需要表扫描。
两个键字段必须有相容的字段类型。
整数类型的大小和符号必须是相同。
字符串类型的长度不一定是相同。
外键的名在数据库中必须是唯一的。