Autor | Zpráva | ||
---|---|---|---|
aha Profil |
Ahoj,
potřebuji poradit. když v PMA měním jednu hodnotu v jednom sloupci, úspěšně splní a vypíše dotaz: UPDATE `drupi`.`node` SET `type` = 'story' WHERE `node`.`nid` = 21 LIMIT 1; Pokud chci měnit hromadně více sloupců pomocí nastavení LIMIT, neustále hlásí chybu v syntaxi. Dotaz píšu takto: UPDATE `drupi`.`node` SET `type` = 'story' WHERE `node`.`nid` = 22 LIMIT 22, 4; Poradí mi někdo, jak ten dotaz má správně vypadat? Předem dík |
||
Alphard Profil |
#2 · Zasláno: 16. 1. 2010, 17:24:51
MySQL myslím neumožňuje nastavit offset u update.
|
||
aha Profil |
#3 · Zasláno: 16. 1. 2010, 17:43:10
No, proč by tedy u dotazu generovaného PMA byl ten LIMIT? Nejde mi to na rozum.
|
||
aha Profil |
#4 · Zasláno: 16. 1. 2010, 18:14:09 · Upravil/a: aha
Takže, funguje to, ale trochu jinak, než je obvyklé.
Za LIMIT se neuvádí rozsah, ale jedním číslem počet řádků, které chci ovlivnít. Z toho vyplývá, že podmínka za WHERE nemůže být = , ale musí být definována nerovností. Příklad: UPDATE `drupi`.`node` SET `type` = 'story' WHERE `node`.`nid` >= 22 LIMIT 4; Příkaz ovlivní řádky 22 až 25. |
||
Časová prodleva: 16 let
|
0