1215: Cannot add foreign key constraint(无法添加外键约束)
MySQL含义
无法创建所定义的外键约束;MySQL 无法添加该约束。
原因
子列与被引用列的数据类型/长度/符号(signed-unsigned)或字符集/排序规则不匹配、被引用列上没有合适的索引/PRIMARY KEY、表使用不同的存储引擎(其中一个是 MyISAM),或被引用的表尚不存在。
解决方法
确保两侧的列类型完全相同(如都是 INT UNSIGNED)。确认被引用列有索引支撑(通常是 PRIMARY KEY 或 UNIQUE)。确保两张表都是 InnoDB。字符串键使用相同的 charset/collation。查看详情:SHOW ENGINE INNODB STATUS(LATEST FOREIGN KEY ERROR)。
同一数据库的其他条目
- 2003Can't connect to MySQL server (TCP/IP)(无法连接到 MySQL 服务器(TCP/IP))
- 2006MySQL server has gone away(MySQL 服务器已断开)
- 1114The table is full(表已满)
- 1451Cannot delete or update a parent row: a foreign key constraint fails(无法删除或更新父行:外键约束失败)
- 1452Cannot add or update a child row: a foreign key constraint fails(无法添加或更新子行:外键约束失败)
- 1366Incorrect string/integer value for column(列的字符串/整数值不正确)
- 1044Access denied for user to database(用户对数据库的访问被拒绝)