Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Удаление записей с повторяющимеся данными
Покинул форум
Сообщений всего: 393
Дата рег-ции: Апр. 2012
Помог: 2 раз(а)
Есть таблица в которой повторяются данные в колонке virtuemart_product_id. Я хотел бы удалить ВСЕ записи, оставив только по одной уникальной записи для каждого значения virtuemart_product_id.
DELETEFROM virtuemart_product_manufacturers WHERE virtuemart_product_id IN(SELECT virtuemart_product_id FROM virtuemart_product_manufacturers t1 WHEREEXISTS
(SELECT*FROM virtuemart_product_manufacturers t2 WHERE t2.id < t1.id AND t2.virtuemart_product_id = t1.virtuemart_product_id))
Но она не работает
Пишет следующую ошибку: You can't specify target table 'virtuemart_product_manufacturers' for update in FROM clause
Помогите разобраться с проблемой...
eai
Отправлено: 24 Января, 2014 - 12:58:07
Частый посетитель
Покинул форум
Сообщений всего: 521
Дата рег-ции: Сент. 2009 Откуда: Петроград
Помог: 10 раз(а)
Ты там поосторожнее а то сейчас все записи похеришь которые больше одного раза
NeuroZ
Отправлено: 24 Января, 2014 - 13:04:37
Посетитель
Покинул форум
Сообщений всего: 393
Дата рег-ции: Апр. 2012
Помог: 2 раз(а)
eai пишет:
Ты там поосторожнее а то сейчас все записи похеришь которые больше одного раза
1. Так в этом и весь смысл. Удалить все записи, где повторяется virtuemart_product_id
2. Предварительно я создал бэкап таблицы. Так что все ок)
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.