1. 程式人生 > >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 設定外來鍵報錯1005:Can’t create table (errno: 150)

使用nacicat for mysql工具或者mysql 命令列中建立外來鍵關聯約束的時候會出現報錯 : Can’t create table (errno: 150) 的錯誤資訊結果是不能建立引用約束?

如圖:在這裡插入圖片描述

我的左邊表car中的某個欄位,想外來鍵關聯到右邊category表的某個欄位。

其中兩張表引擎都是innoDB,而且欄位型別都一樣。

解決辦法:

先在外表category 裡面建立一條資料,在設定外來鍵關聯即可。

在這裡插入圖片描述

因為這個地方,刪除的時候找不到。 在這裡插入圖片描述

或者在外來鍵關聯的地方,“刪除時” 的set null 改為 restrict 就可以了。

附上mysql下命令建立外來鍵:

ALTER TABLE 表名 ADD CONSTRAINT 外來鍵名稱 FOREIGN KEY (外來鍵欄位名稱) REFERENCES 主表名稱(主表列名稱);