天天看點

MySQL errno 150的解決方案

  要做一個聯合主鍵的表,但是在建立表的時候出了點問題,錯誤資訊為:

ERROR 1005 (HY000): Can't create table '  ****' (errno: 150)
           

關于errno 150主要有以下幾種情況:

  1、確定參照的表和字段是存在的;

  2、組成外鍵的字段要求被索引(主要是外鍵那個字段要求在其他表中是主鍵);

  3、外鍵關聯的兩表或多表要求都是INNODB類型的表;

  4、字段類型(說明)要一樣`itemId` varchar(36) collate utf8_bin NOT NULL default '',

  5.表的字元編碼要一樣

我就是在第5點上出了問題,但是鍵表是使用的預設charset,但是很不幸的是這個Default Charset != utf-8。