首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > Ruby Rails >

MySQL创设外键的时候发生: ERROR 1005: Can't create table (errno: 150)

2012-08-27 
MySQL创建外键的时候发生: ERROR 1005: Cant create table (errno: 150)?资料来源:http://venus224.iteye

MySQL创建外键的时候发生: ERROR 1005: Can't create table (errno: 150)

?

资料来源:http://venus224.iteye.com/blog/284944

在mysql 中建立引用约束的时候会出现MySQL ERROR 1005: Can't create table (errno: 150)的错误信息结果是不能建立 引用约束。?出现问题的大致情况?

1、外键的引用类型不一样,主键是int外键是char?
2、找不到主表中 引用的列?
3、主键和外键的字符编码不一致?
4.还有要建立外键的话,要先建立索引。没有建立索引也会出错。=======================================================实际情况:主键字段是utf-8编码,而需要建立外键的字段是latin按照要求,数据库重新按照utf-8重建,解决问题
=======================================================发现还有种问题存在:
建表语句不规范,有开发人员自己写的,有的指定了Storage Engine,有的没指定,这样万一DB缺省的Storage Engine和写上去的不一样,这样造成在一个database中,不同的表的Storage Engine不一样,这样这些表就不能相互建立Foreign Key

?

热点排行