powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / DELETE: You can't specify target table for update in FROM clause
3 сообщений из 3, страница 1 из 1
DELETE: You can't specify target table for update in FROM clause
    #39736822
Victor256
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Соорудил запрос для поиска дублей в таблице по двум полям (parent_id, lang_id):
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
SELECT * FROM widget_content WHERE id NOT IN (
  SELECT a.id
    FROM widget_content a, widget_content b
    WHERE
      a.lang_id = b.lang_id AND
      a.id = b.id
    GROUP BY a.parent_id, a.lang_id
    HAVING COUNT(a.lang_id) = 1
)
AND id NOT IN (
  SELECT MIN(a.id)
    FROM widget_content a, widget_content b
    WHERE
      a.lang_id = b.lang_id AND
      a.id = b.id
    GROUP BY a.parent_id, a.lang_id
    HAVING COUNT(a.lang_id) > 1  
)
ORDER BY parent_id DESC, id DESC


первое условие исключает те записи, которых 1 штука, второе - дублирующиеся записи с минимальным id. Запрос работает правильно, и выводит записи которые надо удалить.

Собственно, вместо "SELECT *" пишу "DELETE FROM" и получаю
авторYou can't specify target table 'widget_content' for update in FROM clause
Погуглив, я примерно понял как с этим бороться, но только для простых случаев. Как быть в моём, не соображу. Подскажите плз.
...
Рейтинг: 0 / 0
DELETE: You can't specify target table for update in FROM clause
    #39737280
paver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Victor256, а так?

Код: sql
1.
2.
3.
4.
5.
DELETE t1 
FROM `tab` t1
   , `tab` t2 
WHERE t1.f1 = t2.f1 AND t1.f2 = t2.f2
  AND t2.id > t1.id;
...
Рейтинг: 0 / 0
DELETE: You can't specify target table for update in FROM clause
    #39737356
Victor256
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
paver, судя по выдаче, это что-то не то
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / DELETE: You can't specify target table for update in FROM clause
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]