给表列加外键

nianzhang747 2009-08-05 11:34:09
首先我用的是InnoDB
其次为给要加外键的列设置了index
最后出现
can't add or update a child row,a foreign key constrant faild(...);
当我给这个列修改字符集编码的时候也报错。
我只不过更改了该列的类型 原来是varchar
现在改成int了就出现上述错误。
...全文
110 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
nianzhang747 2009-08-05
  • 打赏
  • 举报
回复
其实是一致的 都是int 类型的 就是我这个表里有一条数据。把数据删除了 就能加上外键了是为什么啊
vinsonshen 2009-08-05
  • 打赏
  • 举报
回复
不一致的话,外键是不允许的哦
vinsonshen 2009-08-05
  • 打赏
  • 举报
回复
你要建立外键的列及相关联的列的数据类型及长度一致的?
nianzhang747 2009-08-05
  • 打赏
  • 举报
回复
明白了啊 谢谢了
lilinew 2009-08-05
  • 打赏
  • 举报
回复
int 看位数  小数点后面几位
还要看sign unsigned
看是否为null
vinsonshen 2009-08-05
  • 打赏
  • 举报
回复
因为对应数据不在2个表同时存在啊
一个表的外键值一定要在另一个表里存在记录啊

56,876

社区成员

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

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