- MySql non consente di apportare modifiche all'interno di un codice trigger alla stessa tabella su cui hai quel trigger
- Puoi superare questa limitazione modificando il valore di una colonna di una riga inserita utilizzando
BEFORE
evento anzichéAFTER
. - Ora per indirizzare i valori di colonna di una riga inserita in MySql devi usare
NEW
parola chiave.
Detto questo, il tuo trigger dovrebbe assomigliare a
CREATE TRIGGER tg_test1_insert
BEFORE INSERT ON test1
FOR EACH ROW
SET NEW.originindex =
(
SELECT value
FROM cities
WHERE city = NEW.origin
);
Ecco SQLFiddle demo