- MySQLは、トリガーコード内で、そのトリガーがある同じテーブルに変更を加えることを許可していません
-
BEFOREを使用して挿入される行の列値を変更することにより、この制限を克服できます。AFTERではなくイベント 。 - MySqlに挿入されている行の列値をアドレス指定するには、
NEWを使用する必要があります。 キーワード。
そうは言っても、トリガーは次のようになります
CREATE TRIGGER tg_test1_insert
BEFORE INSERT ON test1
FOR EACH ROW
SET NEW.originindex =
(
SELECT value
FROM cities
WHERE city = NEW.origin
);
これが