- MySql tillåter inte att göra ändringar inom en triggerkod till samma tabell som du har den triggern på
- Du kan övervinna denna begränsning genom att ändra ett kolumnvärde för en rad som infogas med
BEFORE
händelse snarare änAFTER
. - Nu för att adressera kolumnvärden för en rad som infogas i MySql måste du använda
NEW
sökord.
Med det sagt ska din trigger se ut
CREATE TRIGGER tg_test1_insert
BEFORE INSERT ON test1
FOR EACH ROW
SET NEW.originindex =
(
SELECT value
FROM cities
WHERE city = NEW.origin
);
Här är SQLFiddle demo