SQL baze podataka - Sponzor: Baze-Podataka.net MySQL, MSSQL, Oracle, Access, ODBC. Ako imate problem brže i preciznije ćete dobiti odgovor ako priložite strukturu tabela ili skript koji kreira tabele i puni ih test podacima umesto što to problem opisujete samo rečima. Sponzor: Baze-Podataka.net - Blog o bazama podataka |
|
Alati teme | Način prikaza |
07. 02. 2008. | #1 |
emperor Selassie
Grand Master
|
MySQL uklanjanje duplikata
Ovako, krenuo sam da upgradeujem forum i javlja mi grešku: "Duplicate entry 'xxx' for key 1"
Odradim ja ovo iz phpMyAdmin-a: SELECT * FROM `postparsed` WHERE `postid` = 'xxx' i dobijem 2-4 rezultata. Kada obrišem sve osim jednog (duplikate), dobijam istu poruku samo se xxx promeni u neki drugi broj. E sad, pošto u tabeli ima oko 50000 unosa, a ja već pola sata brišem ovo ručno i ne vidim mu kraja, odlučih se da vas pitam da li možda postoji neka naredba (ili niz naredbi) kojom bih mogao da iz pMA (ili iz mysql konzole) da uklonim sve redove iz tabele postparsed kojima je postid isti, s tim da uvek ostane jedan od tih redova (ne želim sve da uklonim)? |
07. 02. 2008. | #2 |
Super Moderator
Invented the damn thing
Datum učlanjenja: 06.06.2005
Poruke: 2.371
Hvala: 370
701 "Hvala" u 194 poruka
|
|
"Hvala" dinke za poruku: |
07. 02. 2008. | #3 |
profesionalac
Professional
Datum učlanjenja: 11.10.2006
Lokacija: beograd, srbija
Poruke: 271
Hvala: 32
10 "Hvala" u 7 poruka
|
dinke ga je ubo'o pravo u metu.
svaka cast. |
08. 02. 2008. | #4 |
Banned
Expert
Datum učlanjenja: 29.09.2007
Poruke: 458
Hvala: 131
71 "Hvala" u 44 poruka
|
@Nemanja
nisam profesionalac ali mozda mogu malo da pomognem. 1. Ako si polju postid vec dao tako ime trebalo bi da ti to polje bude jednistveno, to jest da bude primary key. Posto izleda da to polje nije primary key vec secondary key potrebno je da vidis koje polje ti je jedinstveno za svaki record u toj tabeli. Kad to polje nađes dodaš u where delu WHERE (postid='xxx' and ime_jednistvenog_polja <>'neki broj') Ako je tabela takva da nema jedinstvenog polja onda ti ostaje da ime_jednistvenog_polja bude neki podatak koji record sa postid='xxx' razlikuje bas taj od svih koje hoces da obrises. Nadam se da sam ti makar malo pomogao Poslednja izmena od vidak : 08. 02. 2008. u 01:50. |
08. 02. 2008. | #5 |
Ivan Dilber
Sir Write-a-Lot
|
a mozes i nesto ovako:
Kôd:
CREATE TEMPORARY TABLE `bla` SELECT * FROM `postparsed` GROUP BY `postid`; TRUNCATE TABLE `postparsed`; INSERT INTO `postparsed` SELECT * FROM `bla`;
__________________
Leadership is the art of getting people to want to do what you know must be done. Poslednja izmena od ivanhoe : 08. 02. 2008. u 03:58. |
"Hvala" ivanhoe za poruku: |
08. 02. 2008. | #6 |
emperor Selassie
Grand Master
|
Hvala svima. Nešto sam zbudžio - sad radi :P
|
|
|
Slične teme | ||||
Tema | Početna poruka teme | Forum | Odgovori | Poslednja poruka |
provera duplikata fajlova | ivanhoe | PHP | 27 | 11. 04. 2010. 14:30 |
Uklanjanje br tagova izmedju pre tagova | Bojsi | Regular expression i htaccess | 10 | 26. 04. 2008. 22:29 |
nalazenje duplikata | ivanhoe | PHP | 4 | 08. 01. 2007. 13:36 |