我在Access 2007中有一个包含超过18,000行的数据库表。
我正在尝试创建主键,但是我有太多的空值。因此,我想用实际值替换这些空值。为此,我编写了以下SQL语句:
UPDATE [File]
SET [Date] = '01/01/1000'
WHERE [Date] = NULL;
不幸的是,这个UPDATE
语句不起作用(没有空值正在改变)。谁能告诉我为什么?
答案 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'可能是个问题