这次在学校进行生产实习,跟随老师创建一个PHP项目,实现一个电子商务系统B to B模式的,在设计数据库的时候,因为要实现父表和子表之间的关联,涉及到添加主键和外键,在添加的时候,无论如何都出现一个1215错误,描述如下:
ERROR: #1215 - Cannot add foreign key constraint
这可算是把我急坏了,刚开始感觉自己主键和外键没有理解完全,去网上搜索了几篇文章,刻意学习了一下,然后回来再设计还是不行,还是同样的错误。然后开始搜索,MySQL的1215错误,找到了以下几个靠谱点的网址:
http://bbs.csdn.net/topics/390701654
看了这几篇博文,我的问题还是没有解决,只能自己寻求思路解决。然后又打开了Navicat for MySQL,在添加外键后,无法保存,唉~,悲催。
最后找到了和我一起做项目的组长,一起搞,搞定了!!!!!
原来我们的想法是添加外键之后,如果父表的字段删除了,我们的子表与父表关联的字段自动设置为SET NULL,这样无法保存,只好让子表的字段跟随着父表的删除和更新一起实现,截图:
即把右方的删除时和更新时都改成CASCADE属性即可,这样就可以添加好主键和外键的关联关系啦。