关于外键用法

关于外键用法

1、外键约束是在子表中定义,要先删除子表中的数据,才可以删除父表的数据吧?

2、创建外键,子表和父表的字段和数据要都要一摸一样吧?不一样报错了

http://img1.sycdn.imooc.com//climg/5e7e1d48091ec99804670153.jpg

3、married BOOLEAN NOT NULL DEFAULT FALSE,  这个是啥意思啊,课上讲如果没有写字段married  为FALESE往字段里面添加0,TRUE添加1,但是我一再里面随便写数字?

http://img1.sycdn.imooc.com//climg/5e7e21170942e68f06050314.jpg

我的理解,这里married不填的话,为FALESE 应该要自动添加个0 吧?还是啥意思,报错了

http://img1.sycdn.imooc.com//climg/5e7e221609a6aadf04650222.jpg


正在回答

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

1回答

同学,你好。

1 : 外键是定义在字表中,删除有外键约束的表时,可以手动删除,但实际工作中更多的采用FOREIGN_KEY_CHECKS的方式进行(具体用法,同学可查阅资料详细了解)

2 : 创建对应的约束字段时,子表和父表的字段和数据要都要一摸一样

3 : 若married无对应的值时,会自动添加个0,这是因为默认值为false时,mysql会自动映射成为0进行填充;若married有值时,则按照所填写的值进行填充

如果我的回答解决了您的疑惑,请采纳!祝~学习愉快~



  • 20夜风来袭 提问者 #1
    对啊 就是若married无对应的值时,会自动添加个0,然后我最后一个截图没有写married的值,提示不能为null了
    2020-03-29 16:33:02
  • 慕之熠_灿烈 回复 提问者 20夜风来袭 #2
    同学的理解是正确的,建议同学重新在t_emp插入一条记录并且married字段不传入相应的值,然后查看对应的数据。不要以删除之前已经存在的值的方式进行测试。
    2020-03-30 10:52:52
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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