MySQL中 建立外键约束时,失败,下面把错误贴出来,两个相关联的表格均为空表无数据。求指点,谢谢

这是问题截图,我用navicat进行图形化建立外键的,并且测试别的两个表格(另建立的新数据库中的两个新表student和grade进行外键关联可以,这个却不行)
不知道是哪里出了问题,各种字段都对应了,用同样的方法试其他的数据库中的表,居然可以。会不会是shopping数据库中的表格设计不合理呢?有没有人遇见类似的问题啊?不想重新删了表重新建。

看看sql预览。

提示语法有问题。追问

嗯,可是我是图形化操作呢?怎么改语法?用语法的时候也不行

追答

innode引擎 应该是建立数据库或者是 安装 mysql时指定的。

会不会你的 两个gid的数据类型 不一致,或者 宽度 不一样 ?

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-11-09
1. goods里的gid是否做主键了?
2.查下你的两个gid是否重了?
3.你当前选中的表是什么名字?
4.你去SQL预览看下,如果有,贴出来看下。追问

goods里gid为自增、主键

sorder表格中有个gid 非空、非主键(其他就没有gid字段了)

我当前选中的表格为sorder,我想给订单中添加物品的主键。也就是sorder中添加goods中的gid

阅览 贴出如下。还有关于楼下提出的innode引擎怎么建立呢?

追答

你的两个表中的gid是否同一类型,同一长度,所有设置一致?从你贴的sql来看,看不出什么错误。

第2个回答  2012-11-10
在MySql中建立外键之前要先建立该字段的索引,然后才能建立外键。
第3个回答  2012-11-09
亲,根据问题提示你的是语法错误;另外,外键建立的条件是都是innodb引擎,相关列上要有索引。
相似回答