Autor | Zpráva | ||
---|---|---|---|
Hloupý Honza Profil * |
#1 · Zasláno: 29. 1. 2011, 20:33:20
Mám tento SQL kód, který hází chybu, ale vůbec nevím proč:
CREATE TRIGGER trigger AFTER UPDATE ON tabulka1 FOR EACH ROW BEGIN IF NEW.sloupec = 'hodnota' THEN INSERT INTO tabulka2 (t2sloupec2, t2sloupec3) VALUES(NEW.sloupec2, NEW.sloupec3); END IF; END; Co je tam špatně? Díky. |
||
Kajman_ Profil * |
#2 · Zasláno: 29. 1. 2011, 22:33:07
možná je trigger klíčové slovo a není dobré ho používat jako název triggeru. Také je většinou potřeba změni delimiter.
|
||
Hloupý Honza Profil * |
#3 · Zasláno: 29. 1. 2011, 23:58:38
Když jsem jméno změnil, tak se situace nezměnila. Háže to tuhle chybu:
#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 '' at line 4 Jaký delimiter? |
||
Kajman_ Profil * |
#4 · Zasláno: 30. 1. 2011, 00:26:48
Klikněte si na create trigger pro ukázku změny. Musíte nastavit, že středník není oddělovač příkazů.
|
||
Hloupý Honza Profil * |
#5 · Zasláno: 30. 1. 2011, 00:31:52
V kódech na té stránce je uveden delimiter ; a delimiter |, ale dvakrát moudrý z toho nejsem. Co mám udělat, aby to fungovalo? Asi mám dlouhé vedení, nicméně nejsem programátor, tak mi to prosím promiňte. :)
|
||
Kajman_ Profil * |
#6 · Zasláno: 30. 1. 2011, 22:47:54
delimiter | CREATE TRIGGER `t_tabulka1_au` AFTER UPDATE ON tabulka1 FOR EACH ROW BEGIN IF NEW.sloupec = 'hodnota' THEN INSERT INTO tabulka2 (t2sloupec2, t2sloupec3) VALUES(NEW.sloupec2, NEW.sloupec3); END IF; END; | delimiter ; |
||
Hloupý Honza Profil * |
#7 · Zasláno: 30. 1. 2011, 23:44:09
Díky. Ale teď to zase hází tohle: #1227 - Access denied; you need the SUPER privilege for this operation
To se asi musím obrátit na svůj hosting, že? Mimochodem, kdybych tohle chtěl ve skriptu ošetřit pro případ, že to nebude povolené, jak to zjistím? |
||
Časová prodleva: 3 dny
|
|||
Lamicz Profil |
#8 · Zasláno: 3. 2. 2011, 06:38:35
Podle manuálu: MySQL verze 5.0 vyžaduje SUPER práva na spuštění triggeru, od verze 5.1.6 existuje TRIGGER oprávnění u konkrétního uživatele.
|
||
Hloupý Honza Profil * |
#9 · Zasláno: 3. 2. 2011, 11:09:31
OK, díky za info.
|
||
Časová prodleva: 13 let
|
0