Autor | Zpráva | ||
---|---|---|---|
Chadas Profil |
#1 · Zasláno: 19. 1. 2017, 10:37:32
Potřeboval bych poradit s příkazem pro hromadnou úpravu cen. Mám tabulku kde bych potřeboval pole CENA navýšit hodnotu 5. Laicky řečeno to vypadá asi takto:
Vyber tabulku "data_cenik" a ke všem hodnotám v poli "data_cena" které jsou menší než 200 připočti hodnotu 5. Uvítal bych přídně i varianty podobné té kterou uvádím :) I když až uvidím ten příkaz tak si možné vzpomenu a už budu schopen i improvizovat. Potřebuju ceny upravit na vzdáleném serveru. Nejdříve bych ti to ale radši vyzkoušel v praxi na lokálním disku na Wampserveru. Nerad bych zrušil data na webu:) Dík za pomoc. |
||
juriad_ Profil * |
#2 · Zasláno: 19. 1. 2017, 10:56:52
UPDATE data_cenik SET data_cena = data_cena + 5 WHERE data_cena < 200; |
||
Chadas Profil |
juriad:
Zkusím, díky moc. Abych se přiznal měl jsem představu že to bude vypadat nějak takhle : REPLACE ALL "data_cena" WHERE ..... :) To bych se natrápil formou pokus - omyl. Díky moc.juriad: Tak jsem to zkoušel ale bohužel to nefunguje :( Když zadám příkaz SELECT * FROM `zen_products` WHERE `products_price` < 200 , filtr a příkaz bez problémů funguje. Upravil jsem příkaz podle skutečných hodnot (název pole a tabulky) takto UPDATE `zen_products` SET `products_price` = `products_price` + 5 WHERE `products_price` < 200 ale je to špatně. Možná je to pouze syntaktická chyba ale zkoušel jsem upravovat uvozovky ale nic nepomohlo. Tady je podrobný výpis chybového hlášení:
Chyba Statická analýza: Při analýze bylo nalezeno 9 chyb. 1.Unexpected beginning of statement. (near "UPDATE " at position 0) 2.Unexpected beginning of statement. (near "`zen_products`" at position 7) 3.Unexpected beginning of statement. (near "SET " at position 22) 4.Unexpected beginning of statement. (near "`products_price`" at position 26) 5.Unexpected beginning of statement. (near "`products_price`" at position 45) 6.Unexpected beginning of statement. (near "5" at position 64) 7.Unexpected beginning of statement. (near "WHERE " at position 66) 8.Unexpected beginning of statement. (near "`products_price`" at position 72) 9.Unexpected beginning of statement. (near "200" at position 91) SQL dotaz: UPDATE `zen_products` SET `products_price` = `products_price` + 5 WHERE `products_price` < 200 MySQL hlásí: Dokumentace #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'UPDATE `zen_products` SET `products_price` = `products_price` + 5 WHERE `p' at line 1 Tady ještě pro pořádek tabulka s daty. ![]() |
||
Kajman Profil |
#4 · Zasláno: 19. 1. 2017, 12:46:42
Tipuji, že za update set a where je nedělitelná mezera. Zkuste v dotaze nahradit všechny mezery ručně mezerníkem.
|
||
juriad_ Profil * |
#5 · Zasláno: 19. 1. 2017, 15:13:20
Omlouvám se, mezera za každým velkým písmenem je nedělitelná. Ta cshack klávesnice mě jednou zabije, bestie.
Správně: UPDATE `zen_products` SET `products_price` = `products_price` + 5 WHERE `products_price` < 200 |
||
Chadas Profil |
#6 · Zasláno: 19. 1. 2017, 21:02:12
Takhle je to paráda. Teď už to funguje. Akorát se cena budou upravovat malinko jinak. Potřeboval bych upravit tento příkaz
UPDATE `zen_products` SET `products_model` = `products_model` + 5 WHERE LIKE '%Hlízy%' |
||
Keeehi Profil |
Měl jsi to téměř dobře
UPDATE `zen_products` SET `products_price` = `products_price` + 5 WHERE `products_model` LIKE '%Hlízy%' |
||
Chadas Profil |
#8 · Zasláno: 20. 1. 2017, 12:33:44
SUPER!! Díky moc. Uložím si to pro příště. Teď už mám nějaký vzor a s tím už se dá pracovat. Než se budu příště ptát, určitě vyzkouším pár variant nanečisto :) Ještě jednou děkuji. Málokdy se se stává, že mi v různých fórech někdo poradí. Většinou si problém nakonec vyřeším sám. Tady je to přece jenom jinak. Hezký den.
|
||
Časová prodleva: 6 let
|
0