изтриване на дублиращи записи

да кажем че имаш таблица

Код:
id, name, email, comment

[sql]delete from comments c1 where exists (
select * from comments c2 where c2.id<>c1.id and c2.name=c1.name and c2.email=c1.email and c2.comment=c1.comment)
and c1.id <> (select min(c2.id) from comments c2 where c2.name=c1.name and c2.email=c1.email and c2.comment=c1.comment)[/sql]
 
[sql]ALTER IGNORE TABLE `име на талицата` ADD UNIQUE(`title`) [/sql]

Прави UNIQUE KEY полето `title`. За тези, които не са уникални игнорира грешката и ги DROP-ва.
 
deam0n каза:
[sql]ALTER IGNORE TABLE `име на талицата` ADD UNIQUE(`title`) [/sql]

Прави UNIQUE KEY полето `title`. За тези, които не са уникални игнорира грешката и ги DROP-ва.

Това е доста интересен трик, не знаех, че IGNORE работи и при alter. Мерси :)
 

Back
Горе