在外键约束‘news ibfk 1’中引用列‘cateId’和引用列‘id’是不兼容的

在外键约束‘news ibfk 1’中引用列‘cateId’和引用列‘id’是不兼容的

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

3回答
dream_man 2020-03-24 19:14:49

父表的主键是无符号的,从表的外键和它不相似,修改下从表外键就可以了

ALTER TABLE news MODIFY cateId TINYINT UNSIGNED;
ALTER TABLE news ADD FOREIGN KEY(cateId) REFERENCES news_cate(id);

提问者 这个头像是黑豹 2020-03-23 20:52:26
  • 同学你好,1、检查贴出内容,并没有约束不同的问题。 2、出现不兼容问题还有可能是:外键约束中的引用列和引用列在编码格式上不同,导致不兼容报错。同学可以尝试,重新创建表,在SQL语句末尾加上编码,全部设置成utf8。 3、最后如果同学还是找不到问题,同学可以将自己的代码具体的贴出到"我要回答"的代码区,老师来测试一下。 如果我的回答解决了你的疑惑,请采纳,祝学习愉快~
    2020-03-24 10:43:06
好帮手慕柯南 2020-03-19 11:44:22

同学你好!

这里的报错信息是:

cataId和id属性不兼容,应该是同学在设置cataId和id时约束不同,导致的。

根据老师的经验猜测,你应该是在设置cataId没有添加UNSIGNED约束,但是id添加了。建议你检查一下,看是否是这个问题。

如果不是,建议同学贴一下自己建表的sql,老师看一下。

祝学习愉快~

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师