Mysql
 sql >> база данни >  >> RDS >> Mysql

ИЗТРИВАНЕ на всички дублиращи се теми с няколко условия

В MySQL , не можете да посочите целевата таблица към DML операция в подзаявка (освен ако не я вложите на повече от едно ниво дълбоко, но в този случай няма да получите надеждни резултати и не можете да използвате корелирани подзаявки).

Използвайте 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;

Създайте индекс за topics (object_id, title, topic_id) за да работи бързо.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Проектиране на база данни:към EAV или не към EAV?

  2. Създаване на изглед в различни бази данни

  3. Трябва ли да се предпазя от SQL инжекция, ако използвам падащо меню?

  4. Как да получите краткото име на месеца от дата в MySQL

  5. Как да извлечете данни от база данни с помощта на уеб услуги (JAX - RS) в eclipse с помощта на Java