- MySql não permite fazer alterações em um código de gatilho na mesma tabela na qual você tem esse gatilho
- Você pode superar essa limitação alterando o valor de uma coluna de uma linha inserida usando
BEFORE
evento em vez deAFTER
. - Agora, para endereçar valores de coluna de uma linha que está sendo inserida no MySql, você precisa usar
NEW
palavra-chave.
Dito isto, seu gatilho deve se parecer com
CREATE TRIGGER tg_test1_insert
BEFORE INSERT ON test1
FOR EACH ROW
SET NEW.originindex =
(
SELECT value
FROM cities
WHERE city = NEW.origin
);
Aqui está SQLFiddle demonstração