2015-03-19 7 views

ответ

1

Какая хорошая причина, чтобы включать в себя первичный ключ в автоинкрементных все таблицы. Тогда у вас не будет дубликатов.

Самый простой способ использовать временную таблицу:

create temporary table nodups as 
    select distinct * 
    from table t; 

truncate table t; 

insert into t 
    select * 
    from nodups; 
+0

Без использования таблицы темпа в одной записи остаются – JDevil

+0

@ Saurabh.jd. , , Я не понимаю ваш комментарий. –

+0

Я прошу Без использования временной таблицы сохранить только одну запись – JDevil

0

AS вы спрашиваете все записи такие же, а затем сохранить только одну запись и удаление других

DELETE FROM Table WHERE id NOT IN(SELECT id FROM Table LIMIT 1) 
0

вы можете использовать

ALTER IGNORE TABLE tablename ADD UNIQUE (id, name, address) 

Это удалит все повторяющиеся записи, а также предотвратит добавление новых дубликатов. Если вы хотите вставить новые дубликаты позже, вы можете просто добавить его снова.

Но как Гордон Линофф уже сказал, что вы должны думать о добавлении ключа автоинкрементируемого ...

Смежные вопросы