[英]How can I delete rows where its foreign key is NULL?
我有两个表,分别名为tab1
和tab2
。
tab1的主rimary key is price
而price is foreign key in tab2
并且on delete set null.
当我从tab2中存在的tab1中删除primary key
之一时,相应的外键
设置为NULL。
现在,我想从tab2中删除其外键为null的行。
我写此查询,但它不起作用。
delete from tab2 where price = null.
请帮我解决。
您不能使用=比较NULL。 您应该改用IS NULL
WHERE price IS NULL
在您习惯之前,NULL值可能令人惊讶。 从概念上讲,NULL表示“缺少未知值”,并且与其他值的处理方式有所不同。 要测试NULL,不能使用算术比较运算符,例如=,<或<>。
但是,如果您已经on delete set null
使用on delete set null
,为什么不将其简单地更改为on delete cascade
并为您省去手动删除行的麻烦呢?
delete from tab2 where price is null
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.