ERROR 1005 (HY000): Can't Create Table....(errno: 150)
在信息中有一組【LATEST FOREIGN KEY ERROR】會有最近錯誤的詳細描述和解決辦法。
Cannot find an index in the referenced table where the referenced columns appear as the first columns, or column types in the table and the referenced table do not match for constraint.
(譯:不能在“被reference的表”裡找到包含“被reference字段”的索引,或者是兩個關聯字段類型不匹配)
0、外鍵的定義,一個表的主鍵,是另一個表的非主鍵字段,如果是復合主鍵都要設成外鍵
1、確保主表有主鍵。
2、確保主從表數據引擎為InnoDB類型。
3、確定從表外鍵字段類型與主表一致。
4、建外鍵的表的那個列要加上index
關於MySQL的兩個錯誤MySQL createtable errno 121 150錯誤建表錯誤
這兩個都因是在建表的時候涉及到外鍵而引發的錯誤。
Error Code : 1005
Can't create table 'XXXX' (errno: 121)
外鍵和表一樣,在同一個庫中是不允許與其他外鍵重名的。
遇到這個錯誤請給你定義的外鍵換唯一無重復的名字。
ERROR 1005: Can't create table ‘XXXX’ (errno: 150)
這個錯誤是有由於主表和引用表的外鍵關聯字段定義不一致引發的。
檢查兩個表的關聯字段是否類型編碼完全一致。