我遇到了從PostgreSQL表中刪除記錄的問題,使用LEFT JOIN
。如何使用外連接刪除行
我想刪除行我用下面的查詢得到:
SELECT * FROM url
LEFT JOIN link_type ON url.link_type = link_type.id
WHERE link_type.id IS NULL
要做到這一點,這裏是我做過什麼:
DELETE FROM url
USING link_type
WHERE url.link_type = link_type.id AND link_type.id IS NULL
查詢工作,但不會刪除任何東西,儘管這正是文檔中所解釋的:http://www.postgresql.org/docs/current/static/sql-delete.html。
我的問題是由於IS NULL
在查詢還是我缺少什麼東西?
它不會刪除任何東西,因爲當'link_type.id'爲空時,'url.link_type = link_type.id'不是真的,所以這兩個條件永遠都不會滿足。 –