Autor | Zpráva | ||
---|---|---|---|
MartinKloubek Profil |
#1 · Zasláno: 21. 2. 2006, 14:36:37
Dobrý den,
nevíte jak odstranit v tabulce duplicitní řádky?. Zkoušel jsem to přes pole ale těch rádků je 30000 takže to zamrzne.. Myslím že by to mělo jít přímo příkazem pře SQL ale nevím jak. Mám stejný třeba nazev, misto někdy i 3x a potřebuji aby to v tabulce bylo jen 1x Už jen kvůli velikost tabulky. děkuji moc za radu já už nevím co s tím. M. |
||
ash Profil |
#2 · Zasláno: 21. 2. 2006, 15:20:27 · Upravil/a: ash
Urob si dump dát z tabuľky.
Vytvor novú tabuľku s rovnakou štruktúrou a stĺpec nazev nastav na UNIQUE. Natiahni ten dump do novej tabuľky. Riadky, ktoré majú duplicitnú hodnotu nazev, ti tam nevloží. |
||
MartinKloubek Profil |
#3 · Zasláno: 21. 2. 2006, 16:10:16
To je problém, já potřebuji aby se vyčistila ta daná tabulka.
a potřebuji takový kod který jí bude čistit pravidelně to zařídím přes CRON. Ty duplicitní řádky dělá jeden systém na který nemám vliv a je potřeba aby se čistila ta daná tabulka bez nutnosti to překládat do jiné. Opravdu to nejde přes PHP SQL dotazem přímo do databáze dané tabulky? M. |
||
Kajman_ Profil * |
#4 · Zasláno: 21. 2. 2006, 22:16:40
Jaká db a jaká verze?
|
||
MartinKloubek Profil |
#5 · Zasláno: 22. 2. 2006, 10:11:32
MySQL 4.1.11
|
||
Kajman_ Profil * |
#6 · Zasláno: 22. 2. 2006, 11:14:59
Pokud tam je alespoň nějaký jedinečný sloupeček (minimálně v rámci stejného názvu a místa - v příkladu id), tak by to mohlo být nějak takto...
DELETE FROM tabulka t1 USING tabulka t1, tabulka t2 WHERE t1.nazev=t2.nazev AND t1.misto=t2.misto AND t1.id>t2.id; Ale radši si to zazálohujte :-) |
||
MartinKloubek Profil |
#7 · Zasláno: 22. 2. 2006, 13:20:34
Je to dost riskantní že by se to mohlo smazat komplet co? Jinak unikátní číslování tam je tak se uvidí..
|
||
Kajman_ Profil * |
#8 · Zasláno: 22. 2. 2006, 16:59:30
Mělo by to dělat to, co jste chtěl. Otázka je, jestli časem nepřijdete na to, že jste to vlastně takhle nechtěl ;-)
A ještě poznámka.. tím > se říká, že se má nechat nejmenší id. Pokud se má nechat největší, tak použít <. (Při zadání = se to pochopitelně smaže komplet). |
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0