SQL查询无法更改空值

时间:2015-05-13 15:29:24

标签: sql null ms-access-2007

我在Access 2007中有一个包含超过18,000行的数据库表。

我正在尝试创建主键,但是我有太多的空值。因此,我想用实际值替换这些空值。为此,我编写了以下SQL语句:

UPDATE [File]
SET [Date] = '01/01/1000'
WHERE [Date] = NULL;

不幸的是,这个UPDATE语句不起作用(没有空值正在改变)。谁能告诉我为什么?

2 个答案:

答案 0 :(得分:2)

因为没有= NULL。您需要将其更改为使用IS NULL。您还应该使用ANSI dateformat。

UPDATE [File]
SET [Date] = '1000-01-01'
WHERE [Date] IS NULL;

此日期在许多DBMS中无效。在sql server中,这必须是datetime2。我不了解mysql或Access。

答案 1 :(得分:2)

您可以尝试将=替换为IS,看看它是否解决了问题

UPDATE [File]
SET [Date] = '01/01/1000'
WHERE [Date] IS NULL;

PS:取决于您的DBMS /配置, 01/01/1000'可能是个问题