Autor | Zpráva | ||
---|---|---|---|
Neudy Profil |
#1 · Zasláno: 19. 6. 2010, 16:14:04
Ahoj, potřeboval bych poradit, jak auktualizovat velké množství řádků (potřebuji změnit hodnotu pouze jednoho sloupce) pomocí jednoho dotazu, pokud znám id řádků, které chci aktualizovat. Nějaká náhrada za tento kód:
UPDATE tabulka SET sloupec=1 WHERE id='1' or id='5' or id='11' or id='22' or id='24' or id='28' or id='55' ... Jedná se o tisíce řádku a tenhle způsob vlastně nefunguje, protože je to hrozně pomálé.. |
||
Nox Profil |
#2 · Zasláno: 19. 6. 2010, 16:16:03 · Upravil/a: Nox
UPDATE tabulka SET sloupec=1 WHERE id IN (1,5...) a ten vnitřek uděláš z arraye pomocí implode() oprava dle nightfish |
||
nightfish Profil |
#3 · Zasláno: 19. 6. 2010, 16:17:40 · Upravil/a: nightfish
pokud je sloupec id číselného typu, pak Noxovo řešení bez apostrofů (bez režie za přetypování řetězce na číslo):
„UPDATE tabulka SET sloupec=1 WHERE id IN (1,5...)“ (předpokládám, že na id je vytvořen index) |
||
Neudy Profil |
#4 · Zasláno: 19. 6. 2010, 16:42:33
Díky, funguje skvěle :)
|
||
Časová prodleva: 14 let
|
0