【发布时间】:2014-10-03 19:54:29
【问题描述】:
我有一张没有任何键(外键和...)的表。 某些表字段具有空值。 当我使用命令时:
DELETE FROM `woe300websnt` WHERE (Arg1=NULL AND Rel=NULL AND Arg2=NULL);
查询运行成功,但是当我使用时
select * from woe300websnt
我看到没有应用任何更改,这些行仍然保留。我怎么了?
【问题讨论】:
我有一张没有任何键(外键和...)的表。 某些表字段具有空值。 当我使用命令时:
DELETE FROM `woe300websnt` WHERE (Arg1=NULL AND Rel=NULL AND Arg2=NULL);
查询运行成功,但是当我使用时
select * from woe300websnt
我看到没有应用任何更改,这些行仍然保留。我怎么了?
【问题讨论】:
null 不是一个值 - 它是一个值的缺失。你不能在上面使用= 运算符,你需要使用is 运算符来代替:
DELETE FROM woe300websnt
WHERE Arg1 IS NULL AND Rel IS NULL AND Arg2 IS NULL;
【讨论】: