Mysql:Set 0000-00-00为null

问题描述 投票:3回答:1

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

'bezahlt Datum'列是一个可以为空的qazxsw poi的日期字段

查询

enter image description here

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

但是,当我尝试将'0000-00-00'转换为null时

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

然后我收到一条错误消息

#1292 - 日期值不正确:第1行第'bezahltDatum'列的'0000-00-00'

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

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

mysql nullable
1个回答
2
投票

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

enter image description here

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

© www.soinside.com 2019 - 2024. All rights reserved.