sql >> Database teknologi >  >> RDS >> Mysql

SLET alle dublerede emner med få betingelser

I MySQL , kan du ikke angive måltabellen til en DML operation i en underforespørgsel (medmindre du indlejrer den mere end et niveau dybt, men i dette tilfælde får du ikke pålidelige resultater og kan ikke bruge korrelerede underforespørgsler).

Brug en 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;

Opret et indeks over topics (object_id, title, topic_id) for at dette kan fungere hurtigt.



  1. MySQL-fejl 1118 (rækkestørrelse for stor) ved gendannelse af Django-mailer-database

  2. php - konvertering fra et json-format til et andet

  3. Hvorfor er der behov for UDFØR STRAKS her?

  4. com.mysql.jdbc.exceptions.jdbc4.MySQLIintegrityConstraintViolationException:Dubleret indtastning '' for nøglen 'PRIMARY'