- MySql không cho phép thực hiện các thay đổi trong mã trình kích hoạt đối với cùng một bảng mà bạn có trình kích hoạt đó
- Bạn có thể khắc phục hạn chế này bằng cách thay đổi giá trị cột của một hàng đang được chèn bằng cách sử dụng
BEFORE
sự kiện thay vìAFTER
. - Bây giờ để giải quyết các giá trị cột của một hàng đang được chèn vào MySql, bạn cần sử dụng
NEW
từ khóa.
Điều đó được cho là trình kích hoạt của bạn sẽ giống như
CREATE TRIGGER tg_test1_insert
BEFORE INSERT ON test1
FOR EACH ROW
SET NEW.originindex =
(
SELECT value
FROM cities
WHERE city = NEW.origin
);
Đây là SQLFiddle bản demo