在用Navicat for MySQL给MySQL中的数据表单添加外键以及主键出现的1215错误

这次在学校进行生产实习,跟随老师创建一个PHP项目,实现一个电子商务系统B   to  B模式的,在设计数据库的时候,因为要实现父表和子表之间的关联,涉及到添加主键和外键,在添加的时候,无论如何都出现一个1215错误,描述如下:

ERROR: #1215 - Cannot add foreign key constraint

这可算是把我急坏了,刚开始感觉自己主键和外键没有理解完全,去网上搜索了几篇文章,刻意学习了一下,然后回来再设计还是不行,还是同样的错误。然后开始搜索,MySQL的1215错误,找到了以下几个靠谱点的网址:

http://zhidao.baidu.com/link?url=2NxtUni6OaRTEkukS_XRJriyymoTjyYQqo6qp3PSdy-GNo-QF_EsIjPkW_JQW2RQ7arSK-jZfsLx3hMVhN0_-M4YmnXEKAu7FvWWRV0JTf7


http://bbs.csdn.net/topics/390701654


http://codego.net/585784/

看了这几篇博文,我的问题还是没有解决,只能自己寻求思路解决。然后又打开了Navicat for MySQL,在添加外键后,无法保存,唉~,悲催。

最后找到了和我一起做项目的组长,一起搞,搞定了!!!!!

原来我们的想法是添加外键之后,如果父表的字段删除了,我们的子表与父表关联的字段自动设置为SET NULL,这样无法保存,只好让子表的字段跟随着父表的删除和更新一起实现,截图:

104317_g7yp_1774026.png

即把右方的删除时和更新时都改成CASCADE属性即可,这样就可以添加好主键和外键的关联关系啦。


转载于:https://my.oschina.net/chenyaoyao/blog/481083

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值