mysql无法连接外键

云中漫步87 2012-02-07 08:02:06
急。。。。。。

建立两个表,其中一个表中的type_id对应另外一个表的主键id。总是提示
Error Code: 1005
Can't create table 'aclome_css.#sql-874_52' (errno: 150)
排除的原因:
两个字段的类型或者大小不严格匹配
你试图引用的其中一个外键没有建立起索引,或者不是一个primary key , 如果其中一个不是primary key 的放,你必须为它创建一个索引。
必须是InnoDB引擎
找不到主表中 引用的列
主键和外键的字符编码不一致

这些都没有问题。表中的字段连接到本身主键为外键则可以。
求解。。。
谢谢各位大神了。
...全文
69 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
云中漫步87 2012-02-09
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 yq510457 的回复:]

学习!!
怎么还有还有一个外键没有建立成功?
[/Quote]

没有成功的也解决了,还是编码的问题。虽然两个表都采用了utf8,但是具体的collation还需要配置成一样的。
云中漫步87 2012-02-09
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wwwwa 的回复:]

建表SQL语句、建立外键的SQL语句是什么,建议用代码建立外键
[/Quote]

刚接触数据库,所以直接用客户端软件。以后肯定自己写语句了,毕竟客户端软件也存在bug。
谢谢了。
yq510457 2012-02-08
  • 打赏
  • 举报
回复
学习!!
怎么还有还有一个外键没有建立成功?
WWWWA 2012-02-08
  • 打赏
  • 举报
回复
建表SQL语句、建立外键的SQL语句是什么,建议用代码建立外键
云中漫步87 2012-02-08
  • 打赏
  • 举报
回复
用sqlyog连接的,所以不用自己写sql语句。
原因基本定位了:是database和table的编码不同的问题。修改编码后解决了大部分问题,但是还有一个外键没有建立成功。
谢谢你们了。
ACMAIN_CHM 2012-02-07
  • 打赏
  • 举报
回复
楼主至少应该贴出相应的create table 语句吧。

问题说明越详细,回答也会越准确!参见如何提问。(提问的智慧
rucypli 2012-02-07
  • 打赏
  • 举报
回复
贴你的sql和建表语句

56,677

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧