- MySql tillader ikke at foretage ændringer i en triggerkode til den samme tabel, som du har den trigger på
- Du kan overvinde denne begrænsning ved at ændre en kolonneværdi for en række, der indsættes ved hjælp af
BEFORE
hændelse i stedet forAFTER
. - Nu for at adressere kolonneværdier for en række, der indsættes i MySql, skal du bruge
NEW
søgeord.
Når det er sagt, skal din trigger se ud
CREATE TRIGGER tg_test1_insert
BEFORE INSERT ON test1
FOR EACH ROW
SET NEW.originindex =
(
SELECT value
FROM cities
WHERE city = NEW.origin
);
Her er SQLFiddle demo