Tôi gặp sự cố khi xóa bản ghi khỏi bảng PostgreSQL, sử dụng LEFT JOIN
.Cách xóa các hàng bằng cách sử dụng phép nối ngoài
Tôi muốn xóa hàng tôi nhận được với các truy vấn sau đây:
SELECT * FROM url
LEFT JOIN link_type ON url.link_type = link_type.id
WHERE link_type.id IS NULL
Để làm như vậy, đây là những gì tôi đã làm:
DELETE FROM url
USING link_type
WHERE url.link_type = link_type.id AND link_type.id IS NULL
công trình Query nhưng không xóa bất cứ điều gì , mặc dù đó là chính xác những gì được giải thích trong tài liệu: http://www.postgresql.org/docs/current/static/sql-delete.html.
Vấn đề của tôi là do IS NULL
trong truy vấn hoặc Tôi thiếu gì đó?
Nó không xóa bất cứ điều gì vì khi 'link_type.id' là null,' url.link_type = link_type.id' không đúng nên hai điều kiện này không bao giờ được thỏa mãn với nhau. –