|
Тема |
Re: Дублирани редове [re: Ивaнyшka] |
|
Автор |
salle (един такъв) |
|
Публикувано | 29.10.04 13:11 |
|
|
Ако трябва да изтриеш дублираните редове и да ги забравиш най-лесния начин е направо да направиш нова таблица, да копираш нещата там и да изтриеш старата. Особено ако дублираните редове са много.
CREATE TABLE new_table LIKE old_table;
ALTER TABLE new_table ADD UNIQUE INDEX (x,y);
-- ако вече имаш PRIMARY KEY
INSERT IGNORE INTO new_table SELECT * FROM old_table;
DROP old_table;
RENAME new_table TO old_table;
иначе това, което ти предлага бай Любо е универсално решение само синтаксиса не е този.
CREATE TEMPORARY TABLE temp
select x,y, count(*)
from tablica
group by x,y
having count(*)>1
select t.*
from tablica t, temp a
where t.x=a.x
and t.y=a.y
и оттам вече решаваш какво да ги правиш.
Редактирано от salle на 29.10.04 13:12.
|
| |
|
|
|