Autor Zpráva
Neudy
Profil
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
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
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
Díky, funguje skvěle :)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0