Mysql:将 0000-00-00 设置为空

Mysql: Set 0000-00-00 to null

我已经找到 这正是我的问题 - 但是,它不起作用。

列 'bezahltDatum' 是一个可以为空的日期字段

查询

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

给出了 25 个结果并且正在运行。

但是,当我尝试使用

将“0000-00-00”转换为 null 时
UPDATE `officeBuch` SET bezahltDatum = null WHERE bezahltDatum = '0000-00-00'

然后我收到一条错误消息

#1292 - Incorrect date value: '0000-00-00' for column 'bezahltDatum' at row 1

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

我能想到的唯一方法是暂时改变 SQL 模式,像这样

SET SESSION sql_mode = 'NO_ENGINE_SUBSTITUTION'; 

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