天天看点

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。