2 Tabellen referenziert werden:
Elemente (id, ...)
Benutzer (id, ITEM_ID, ...)alle Datensätze einer Tabelle löschen, die nicht aus einer anderen Tabelle
Wie löschen Sie alle Datensätze in Artikel, die nicht von Benutzer verwiesen werden?
2 Tabellen referenziert werden:
Elemente (id, ...)
Benutzer (id, ITEM_ID, ...)alle Datensätze einer Tabelle löschen, die nicht aus einer anderen Tabelle
Wie löschen Sie alle Datensätze in Artikel, die nicht von Benutzer verwiesen werden?
Beachten Sie, dass NICHT IN wirklich sein kann langsam. Manchmal - überraschend genug - ist es schneller, etwas wie dieses zu tun:
DELETE FROM items WHERE id IN
(SELECT id FROM items EXCEPT SELECT item_id FROM users)
DELETE FROM items WHERE id NOT IN (SELECT item_id FROM users)
(verwendet ein subquery alle item_ids
von users
auszuwählen und löscht dann die Datensätze aus items
wo id
nicht in den Ergebnissen dieser Unterabfrage)
delete from items
where id not in (select item_id from users)
Dies ist gut in einigen anderen SQL-Sprachen, aber MySQL unterstützt nicht EXCEPT. – earl3s