SQL 查询无法更改空值
SQL query not working for changing null values
我的数据库 table 在 Access 2007 中有超过 18,000 行。
我正在尝试创建一个主键,但我有太多空值。因此,我想用实际值替换那些空值。为此,我编写了以下 SQL 语句:
UPDATE [File]
SET [Date] = '01/01/1000'
WHERE [Date] = NULL;
不幸的是,此 UPDATE
语句不起作用(none 的空值正在更改)。谁能告诉我为什么?
因为什么都没有 = NULL。您需要将其更改为使用 IS NULL。您还应该使用 ANSI 日期格式。
UPDATE [File]
SET [Date] = '1000-01-01'
WHERE [Date] IS NULL;
此日期在许多 DBMS 中无效。在 sql 服务器中,这必须是 datetime2。我不知道 mysql 或 Access。
您可以尝试将 =
替换为 IS
,看看是否能解决问题
UPDATE [File]
SET [Date] = '01/01/1000'
WHERE [Date] IS NULL;
PS:根据您的 DBMS/配置,'01/01/1000' 可能是个问题
我的数据库 table 在 Access 2007 中有超过 18,000 行。
我正在尝试创建一个主键,但我有太多空值。因此,我想用实际值替换那些空值。为此,我编写了以下 SQL 语句:
UPDATE [File]
SET [Date] = '01/01/1000'
WHERE [Date] = NULL;
不幸的是,此 UPDATE
语句不起作用(none 的空值正在更改)。谁能告诉我为什么?
因为什么都没有 = NULL。您需要将其更改为使用 IS NULL。您还应该使用 ANSI 日期格式。
UPDATE [File]
SET [Date] = '1000-01-01'
WHERE [Date] IS NULL;
此日期在许多 DBMS 中无效。在 sql 服务器中,这必须是 datetime2。我不知道 mysql 或 Access。
您可以尝试将 =
替换为 IS
,看看是否能解决问题
UPDATE [File]
SET [Date] = '01/01/1000'
WHERE [Date] IS NULL;
PS:根据您的 DBMS/配置,'01/01/1000' 可能是个问题