- MySql staat het niet toe om binnen een triggercode wijzigingen aan te brengen in dezelfde tabel waarop u die trigger heeft
- U kunt deze beperking omzeilen door een kolomwaarde van een rij die wordt ingevoegd te wijzigen met
BEFOREevenement in plaats vanAFTER. - Om nu kolomwaarden van een rij die in MySql wordt ingevoegd aan te pakken, moet je
NEWgebruiken zoekwoord.
Dat gezegd hebbende, zou je trigger eruit moeten zien als
CREATE TRIGGER tg_test1_insert
BEFORE INSERT ON test1
FOR EACH ROW
SET NEW.originindex =
(
SELECT value
FROM cities
WHERE city = NEW.origin
);
Hier is SQLFiddle demo