MySQL [23000] Column cannot be null

MySQL 表结构字段 face char(20) NOT NULL 。
插入数据的时候,当face值设置为NULL,报错 MySQL SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'face' cannot be null

MariaDB [db2_dalu]> select version();
+--------------------+
| version()          |
+--------------------+
| 5.5.41-MariaDB-log |
+--------------------+
1 row in set (0.00 sec)

但是我本地却没有这样的情况,本地的MySQL版本:

mysql> select version();
+------------+
| version()  |
+------------+
| 5.6.17-log |
+------------+
1 row in set (0.00 sec)

mysql>
阅读 6.5k
4 个回答

你贴这个有什么用,明显是插入的时候问题,应该贴插入的那条代码啊。
而且我觉得提示没毛病啊,因为你要求不能为空,当你插入一个空值的时候,不提醒你反倒是奇怪了。

明明设置了not null,那肯定不能插入null空值啊,你之前说本地版本可以插入这一定是灵异现象。

版本高点,限制严格点的原因吗?

这个。。不管是在MySQL的严格模式,还是非严格模式下,都可以设置空值是否提醒的。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题