[ XGhost @ 26.07.2014. 01:12 ] @
Kako da obrisem duple podatke u bazi? Imam duple podatke npr u bazi u polju ime_i_prezime. |
[ XGhost @ 26.07.2014. 01:12 ] @
[ bogdan.kecman @ 26.07.2014. 02:06 ] @
najcesce tako sto dizajniras bazu da ne mozes da imas duple podatke ...
e sad kad ih vec imas - tesko :( najlakse tako sto napravis drugu tabelu i prespes u nju podatke sa insert select distinct [ tarla @ 26.07.2014. 02:18 ] @
Ako je ime i prezime duplo, ne znači da je to ista osoba...
[ after @ 27.07.2014. 14:35 ] @
Dodaj unique index sa ALTER IGNORE TABLE... sintaksom, to radi na MySQL verzijama 5.1 i visim. MySQL ce dozvoloti kreiranje unique key iako ima duplih rekorda i obrisace duple.
Ili preko sql: Code: delete from table where id in (select id from table group by id having count(*) > 1) limit 1 ili neka slicna sql konstrukcija sa ili bez limit itd. [ bogdan.kecman @ 27.07.2014. 15:37 ] @
alter je smor za ove stvari, radi ali je bas smor (mnogo stvari moze da krene naopako) .. mnogo bolje copy u novu tabelu .. obicno kada se ispravljaju ovakvi problemi mora da se uradi neki insert select .. on duplicate update .. alter ignore radi isto sto i insert ignore select * from stim da sa insert ignore select imas mnogo vecu kontrolu
[ XGhost @ 27.07.2014. 20:21 ] @
Rjesio sam to (1 sat nakon postavljanja posta).
Kopiranjem podataka u privremenu tabelu a kasnije preimenovanje iste. Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|