我有两个表:
listings(item_id, ...) images(item_id, ...)
两个表中的item_id值相同-但我从“清单”表中删除并删除了清单,但没有删除“图像”表中的相应行。
所以-如果IMAGES中的item_id与我的主“列表”表中的任何最新item_id值都不对应,我想删除第二个“图像”表中的所有行。
如何删除“图像”表中未从“列表”中引用的所有记录?
我一直在尝试这样的SQL脚本和子查询:
DELETE FROM images WHERE item_id IN (SELECT item_id FROM images EXCEPT SELECT item_id FROM listings)
但是,在我将其全部拧紧之前,是否想确认这是否正确?
您应该使用子查询
DELETE FROM images WHERE item_id NOT IN(SELECT item_id FROM listings)
更多示例和解释。