mysql创建外键要求比较严格,严格到有时候你找不到到底哪里错了。 如果碰到ERROR 1005: Can’t create table ‘./test/testt1.frm’ (errno: 150)这个错误的时候。 1.检查你的表是不是都是INNodb类型的,只有这种类型才可以创建外键。 2.检查字段名是不是有错误。 3.检查字段类型,最好一样。 4.比较隐蔽,检查字符集,为了迁移和使用的方便,尽量使用UTF8 5.上面的都检查了?那么我估计你的在创建久表的时候用的字符集与新表不同,如果我的新表用的字符集是UTF8,那么即使你把数据库的这些字符集全部设置成UTF8你的久表字段字符集依然不会改变(要是你有特殊限定的话),那就需要你对久表的所有字段进行字符集的更