- 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
BEFOREsự 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
NEWtừ 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