- MySql neumožňuje provádět změny v kódu spouštěče ve stejné tabulce, ve které máte daný spouštěč
- Toto omezení můžete překonat změnou hodnoty sloupce vkládaného řádku pomocí
BEFORE
událost spíše nežAFTER
. - Nyní k adresování hodnot sloupců řádku vkládaného do MySql musíte použít
NEW
klíčové slovo.
Vaše spoušť by měla vypadat takto
CREATE TRIGGER tg_test1_insert
BEFORE INSERT ON test1
FOR EACH ROW
SET NEW.originindex =
(
SELECT value
FROM cities
WHERE city = NEW.origin
);
Zde je SQLFiddle demo