Здравствуйте, есть таблица (40К записей). Есть дублирующие записи. Нужно их удалить, оставив одну оригинальную.
Делаю так (сравниваю по столбцу name
)
delete from `admin_eda`.`eda`
where `eda`.`id` not in (
select min(`eda`.`id`)
from `admin_eda`.`eda`
group by `eda`.`name`
)
Выдает
#1093 - Не допускается указание таблицы 'eda' в списке таблиц FROM для внесения в нее изменений
Конвертируйте подзапрос в представление (view), и ограничение не сработает. А вью потом удалите, операция-то одноразовая...
CREATE VIEW select_min_id_from_eda
AS
SELECT MIN(`eda`.`id`) min_id
FROM `admin_eda`.`eda`
GROUP BY `eda`.`name`;
DELETE FROM `admin_eda`.`eda`
WHERE `eda`.`id`
NOT IN ( SELECT min_id
FROM select_min_id_from_eda
);
DROP VIEW select_min_id_from_eda;
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Имеется две идентичные таблицы, пусть table1, table2, но одна таблица заполнена данными, а вторая только наполовинуВ таблицах есть такие поля: id, user_id,...
Как скрывать клавиатуру при нажатии вне её области?
Написать модульный тест для метода UnitisCloseTo(), проверить, что он действительно проверяет 8-связных соседей на прямоугольной сетке
Не выходит распарсить ответИнтересует объект message, необходимо свойство "message-id"