Mysql:Set 0000-00-00为null

时间:2018-03-03 10:02:35

标签: mysql nullable

我已经找到How to set to NULL a datetime with 0000-00-00 00:00:00 value?,这正是我的问题 - 然而,它不起作用。

colum' bezahltDatum'是一个可以为空的日期字段 enter image description here

查询

SELECT id,bezahltDatum FROM `officeBuch` WHERE  bezahltDatum = '0000-00-00'

给出25个结果并且正在发挥作用。

然而,当我尝试转换' 0000-00-00'用

取消
UPDATE `officeBuch` SET bezahltDatum = null WHERE bezahltDatum = '0000-00-00'

然后我收到错误消息

  

#1292 - 日期值不正确:' 0000-00-00'专栏' bezahltDatum'在第1行

enter image description here

为什么这不起作用,我该如何解决?我使用的是phpMyAdmin版本4.7.2和Mysql 5.7.18-0ubuntu0.16.04.1

1 个答案:

答案 0 :(得分:2)

我能想到的唯一方法就是暂时改变SQL模式

SET SESSION sql_mode = 'NO_ENGINE_SUBSTITUTION'; 

在实际更新语句之前。这将暂时禁用严格模式,不应出现错误。