Autor Zpráva
slon_cz
Profil
Zdravím vespolek. Řekněme, že mám seznam třeba 400 řádků v databázi v tabulce a každých 10 minut potřebuji například u 250 řádků různě upravit jeden sloupeček - přičíst k číslu ve sloupku další číslo, přičemž v každém sloupku je jiné výchozí číslo. Je dobrý nápad dělat to skrz loop? Tedy 250 řádků = 250 sql příkazů
UPDATE tabulka SET sloupek1=sloupek1+5 WHERE id="xx"
UPDATE tabulka SET sloupek1=sloupek1+5 WHERE id="xxx"
UPDATE tabulka SET sloupek1=sloupek1+5 WHERE id="47"

atp nebo je možné to udělat skrz jeden sql příkaz a takto upravit takový počet řádků najednou? Nebo nějaké jiné, lepší řešení?
pcmanik
Profil
slon_cz:
Vieš to spraviť jedným sql-kom použitím operátora IN.
slon_cz
Profil
A pomocí toho půjde spojit aby to upravovalo UPDATE tabulka SET sloupek1=sloupek1+5 WHERE id='2',UPDATE tabulka SET sloupek1=sloupek1+5 WHERE id='12'.. přičemž každý ten sloupek1 má i jiný obsah?
Radek9
Profil
slon_cz:
Ano, ale na tak, jak to píšeš.

UPDATE tabulka SET sloupec1 = sloupec1 + 5 WHERE id IN (1, 2, 3)

Vyznačený sloupec bude vždy obsahovat hodnotu příslušného záznamu.
slon_cz
Profil
Tak to je paráda, netušil jsem, že by to šlo až takhle dobře a rychle. Děkuji :)

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