Как удалить дубликат записи в таблице, которые все записи в одномУдаление повторяющихся записей в MySQL
id|name|address
1 | a|b
1 | a|b
1 | a|b
1 | a|b
только одна запись, оставшихся после удаления
Как удалить дубликат записи в таблице, которые все записи в одномУдаление повторяющихся записей в MySQL
id|name|address
1 | a|b
1 | a|b
1 | a|b
1 | a|b
только одна запись, оставшихся после удаления
Какая хорошая причина, чтобы включать в себя первичный ключ в автоинкрементных все таблицы. Тогда у вас не будет дубликатов.
Самый простой способ использовать временную таблицу:
create temporary table nodups as
select distinct *
from table t;
truncate table t;
insert into t
select *
from nodups;
AS вы спрашиваете все записи такие же, а затем сохранить только одну запись и удаление других
DELETE FROM Table WHERE id NOT IN(SELECT id FROM Table LIMIT 1)
вы можете использовать
ALTER IGNORE TABLE tablename ADD UNIQUE (id, name, address)
Это удалит все повторяющиеся записи, а также предотвратит добавление новых дубликатов. Если вы хотите вставить новые дубликаты позже, вы можете просто добавить его снова.
Но как Гордон Линофф уже сказал, что вы должны думать о добавлении ключа автоинкрементируемого ...
идентификатор \t \t имя адрес \t б \t б \t б a \t b – JDevil