qq_38969881 2019-08-23 15:24 采纳率: 0%
浏览 3040

mysql 设置数据不能为空,但是插入数据时不设值却能成功插入

今天学习mysql的时候遇到一个问题
图片说明
如图,给name设置了not null,但是插入数据时不对它插入数据,却能成功插入数据,不报错。查看数据,是系统给了一个默认值 ,但是我并没有给它设置默认
值啊?
图片说明

然后在另一台电脑上同样的操作,却又提示name不能为空,需要设置值,这是什么原因?mysql版本都是一样的,一个自动设置了默认值,一个没有

  • 写回答

3条回答 默认 最新

  • J4cks0n 2019-08-23 16:11
    关注

    你的语句不包含所有字段,所以mysql自动用默认字段帮你填充完毕,所以并不是 null , 你可用 is null 验证

    mysql.ini文件
    sql-mode=”NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION”
    改成
    sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
    就会出现报错情况

    其实这个是mysql在帮你把null转换成''

    评论

报告相同问题?

悬赏问题

  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)