nacicat for mysql/mysql 设置外键报错1005:Can't create table (errno: 150)解决办法

nacicat for mysql/mysql 设置外键报错1005:Can’t create table (errno: 150)

使用nacicat for mysql工具或者mysql 命令行中建立外键关联约束的时候会出现报错 : Can’t create table (errno: 150) 的错误信息结果是不能建立引用约束?

如图:nacicat for mysql/mysql 设置外键报错1005:Can't create table (errno: 150)解决办法

我的左边表car中的某个字段,想外键关联到右边category表的某个字段。

其中两张表引擎都是innoDB,而且字段类型都一样。

解决办法:

先在外表category 里面建立一条数据,在设置外键关联即可。

nacicat for mysql/mysql 设置外键报错1005:Can't create table (errno: 150)解决办法

因为这个地方,删除的时候找不到。
nacicat for mysql/mysql 设置外键报错1005:Can't create table (errno: 150)解决办法

或者在外键关联的地方,“删除时” 的set null 改为 restrict 就可以了。

附上mysql下命令建立外键:

ALTER TABLE 表名 ADD CONSTRAINT 外键名称 FOREIGN KEY (外键字段名称) REFERENCES 主表名称(主表列名称);