簡體   English   中英

如何刪除外鍵為NULL的行?

[英]How can I delete rows where its foreign key is NULL?

我有兩個表,分別名為tab1tab2

tab1的主rimary key is priceprice 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

MySQL參考手冊

在您習慣之前,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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM