dongnan
总版主
总版主
  • 粉丝52
  • 发帖数2165
  • 铜币13236枚
  • 威望5838点
  • 银元150个
  • 社区居民
  • 最爱沙发
  • 忠实会员
  • 原创写手
阅读:1368回复:0

mysql ERROR 1215 (HY000): Cannot add foreign key constraint

楼主#
更多 发布于:2016-10-08 15:06
错误描述
mysql 创建表,提示不能添加外键, error 1215 Cannot add foreign key constraint ;

SQL语句
mysql> CREATE TABLE `ywwd_role_uacc` (
    ->   `roleid` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT '角色ID',
    ->   `uaccid` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT '角色名称',
    ->   `create_time` datetime DEFAULT NULL,
    ->   `update_time` datetime DEFAULT NULL,
    ->   PRIMARY KEY (`roleid`,`uaccid`),
    ->   KEY `uaccid` (`uaccid`) USING BTREE,
    ->   CONSTRAINT `ywwd_role_uacc_ibfk_1` FOREIGN KEY (`uaccid`) REFERENCES `ywwd_uacc` (`uaccid`) ON DELETE CASCADE,
    ->   CONSTRAINT `ywwd_role_uacc_ibfk_2` FOREIGN KEY (`roleid`) REFERENCES `ywwd_role` (`roleid`) ON DELETE CASCADE
    -> ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='角色表';

ERROR 1215 (HY000): Cannot add foreign key constraint

错误原因
首先检查外键指向的表,提示X表不存在,好吧"目标表"不存在当然无法创建外键;
mysql> desc ywwd_uacc;
ERROR 1146 (42S02): Table 'trade-db.ywwd_uacc' doesn't exist

mysql> desc ywwd_role;
省略....
5 rows in set (0.00 sec)

解决方法

按照提示,先创建"目标表"后再次执行SQL即可;

#
游客

返回顶部