今天创建表时出现了Can't create table‘..’ (errno:150),经过排查发现是关联的B表中有一条测试数据,其中的值不在A表所关联字段的范围
会造成error:150的原因大概有三点:
1. B表的外键字段 从 类型 是否为空等是否和A表所要关联的字段相同
2. B表的外键字段中有A表所要关联的字段中没有的数据,比如A表的id为1,2 B表关联A表的id为外键,但是B表的关联字段里有3,那么就会出现error:150的错误
3. 如果不是上述原因,把A B两表的储存引擎换为“InnoDB”即可