t_user表不受非空约束了

t_user表不受非空约束了

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

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

明明设置了不能是null,我却这个t_user表可以保存空值,其他表设置了不是null都会提示cannot be null。

正在回答

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

5回答

同学,你好。

1、空字符串和Null是不一样的,NULL是在字段中存储NULL值,空值是在字段中存储空字符(''),同学首先要弄清楚空字符串和Null值的区别

2、int类型只能填写数字相关的内容,是不能写空字符串的

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

好帮手慕美 2020-06-05 15:55:42

同学,你好。勾选了不能为Null,则是不能保存空值的,在保存空值时是会报错的

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

同学可以看下保存的是否是空字符串,下图中16条数据中保存的是空字符串,因此是可以的。

若允许为Null,保存完数据后是下图中17条记录的形式

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

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

  • 提问者 江民川 #1
    我补充说明了啊,中间的password和email都是字符串,空的也会被保存,但是role_id作为int类型确实不能为空,你这里演示的是把所有字段都弄成空的了,看不出名堂
    2020-06-05 16:02:18
  • 提问者 江民川 #2
    所以说,如果是字符串,就算设置空值也会被保存,那我如果真要字符串的字段也不能空,那该怎么办呢
    2020-06-05 16:03:28
提问者 江民川 2020-06-05 15:30:02

我发现了,所有表里,不管勾没勾"不能为空",char类型都能空,int类型就要看勾没勾了

提问者 江民川 2020-06-05 15:27:29

难道是varchar不受非空约束吗? 这表里role_id还是不能为空的。

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

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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