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

Как да изтрия от select в MySQL?

SELECT (под)заявките връщат набори от резултати . Така че трябва да използвате IN , а не = във вашия WHERE клауза.

Освен това, както е показано в този отговор не можете да модифицирате същата таблица от подзаявка в рамките на същата заявка. Можете обаче или SELECT след това DELETE в отделни заявки или вложете друга подзаявка и псевдоним на резултата от вътрешната подзаявка (все пак изглежда доста хакерски):

DELETE FROM posts WHERE id IN (
    SELECT * FROM (
        SELECT id FROM posts GROUP BY id HAVING ( COUNT(id) > 1 )
    ) AS p
)

Или използвайте присъединявания както е предложено от Mchl .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. php/mysql с множество заявки

  2. Bash скрипт за вмъкване на стойности в MySQL

  3. Как да инсталирате MySQL 8 с Workbench на Windows 10

  4. MySQL Master To Master репликация

  5. Как да импортирате база данни с помощта на командния ред