Autor Zpráva
klicko
Profil *
Zdravim. Když mám pole hodnot kterým potřebuju updatovat několik řádků v tabulce, ale ty změny se různí, tak jak se to dělá jedním dotazem?

třeba na řádku který má id 5 potřebuju ve sloupci hodnoty nastavit 1 a pak ve sloupci co id 6 potřebuju v tom sloupci nastavit 2.Děkuju.
Alphard
Profil
Můžete se inspirovat tady Dvojné pole..?, nicméně pokud nemám reálný důvod šetřit dotazy, asi bych provedl jednoduchý update v cyklu.
klicko
Profil *
no snažim se se inspirovat, ale háže mi to ERROR: syntax error at or near "join"
Alphard
Profil
Jak to zkoušíte? Nebylo to zmíněno explicitně, ale bavíme se o MySQL, ne? Tam je update join validní konstrukce.

Mohu maximálně uvést další alternativy s duplicate key nebo case. Koneckonců, v tom vlákně je i ten vložený dotaz.
klicko
Profil *
Ne vlastně. O postgres se bavíme. Sem to měl asi napsat nazačátku už.
Alphard
Profil
Většina dotazů v této kategorii se týká MySQL, když jde o něco jiného, je třeba to zdůraznit.
V principu je to totéž, jen je třeba zapsat to trochu jinak, viz stackoverflow.com/a/18799497.
klicko
Profil *
někdo mi poslal tohle :

select status original, status & 1 "deletedByAdresat", status & 2 "deletedBySender" from generate_series (3, 0, -1) serie (status);

update messaget set active = active & (userIsSender::integer + 1)

ale není to kompletní a já nevím jak to mohl myslet. Jak to mohl myslet?

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: