gpt4 book ai didi

MySql 没有按预期返回结果

转载 作者:行者123 更新时间:2023-11-29 03:13:37 25 4
gpt4 key购买 nike

delete FROM tuan_details where tuan_id<>14

这应该只保留 tuan_id 等于 14 的行,但 tuan_id 为空的行也将被保留。

为什么会这样?

最佳答案

NULL在 SQL 中是特殊的。你的条件:tuan_id <> 14将是 TRUE仅适用于不同于 14 的值.对于 tuan_id 的行是NULL , :

tuan_id <> 14

将是:

NULL <> 14

计算结果为:

UNKNOWN

所以这些行不会被删除。 WHERE当它们评估为 TRUE 时,条件得到满足.当他们评估为 FALSE 时被拒绝或 UNKNOWN .

SQL 使用 3-valued logic


所以,如果你也想删除 Nulls,你可以使用这个语句:

DELETE 
FROM tuan_details
WHERE tuan_id <> 14
OR tuan_id IS NULL ;

关于MySql 没有按预期返回结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4273983/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com