sql >> Databáze >  >> RDS >> Mysql

SMAŽTE všechna duplicitní témata s několika podmínkami

V MySQL , nemůžete zadat cílovou tabulku pro DML operace v poddotazu (pokud jej nevnoříte více než jednu úroveň hluboko, ale v tomto případě nezískáte spolehlivé výsledky a nemůžete použít korelované poddotazy).

Použijte JOIN :

DELETE  td
FROM    topics td
JOIN    topics ti
ON      ti.object_id = td.object_id
        AND ti.title = td.title
        AND ti.topic_id > td.topic_id;

Vytvořte rejstřík pro topics (object_id, title, topic_id) aby to fungovalo rychle.



  1. Chyba MySQL/PHP:[2002] Obvykle je povoleno pouze jedno použití každé adresy soketu (protokol/síťová adresa/port)

  2. Jak vložit značky do databáze pomocí jquery html a php

  3. Rychlejší alternativa v Oracle k SELECT COUNT(*) FROM sometable

  4. Vývojářské nástroje pro přímý přístup k databázím