MySQL中的'0000-00-00'null是否为空?

时间:2016-07-12 18:17:10

标签: mysql null datefield

我正在使用我的查询清理警告,并且遇到了以下错误:Code 1048: Column 'last_receipt' cannot be null

与错误相关联的查询会获取table_Bon_dock中的所有值,并使用简单的Update / Join语句将它们放入table_Alast_receipt。< / p>

但是,该列中没有一个标记为null的值。但是,标记为'0000-00-00'的值。我查看了文档,没有说明0000-00-00为空,但似乎MySQL肯定会认同它。 0000-00-00null认可,或者我今天刚刚失去它?

---------------------------------------- UPDATE ------ --------------------------

在我的加入查询中,我使用子查询基于table_Btable_A连接到order_id

SELECT MAX(on_dock) AS max_on_dock FROM table_B GROUP BY order_id

是否因为MAX函数可能会将这些值返回为空?

----------------------------------------更新2 ----- --------------------------

执行时:

UPDATE table_B SET on_dock = '0000-00-00' WHERE on_dock IS NULL

返回0 rows affected

执行时:

SELECT * FROM `table_B WHERE on_dock IS NULL

它返回30,000行但所有日期似乎都是'0000-00-00'

执行时:

SELECT * FROM `table_B WHERE on_dock IS '0000-00-00'

它返回相同的30,000行

0 个答案:

没有答案