[英]I am trying to make a trigger in mysql, but not working
這是我的觸發器:
DELIMITER $$
CREATE TRIGGER after_changing_student_year
AFTER UPDATE ON student_details
FOR EACH ROW
BEGIN
SET @old_stud_id = NEW.student_id;
INSERT INTO assigned_groups (student_id) VALUES (@old_stud_id);
END$$
DELIMITER ;
我使用mysql變量,因為直接分配不起作用。
但是我發現這是可行的:
DELIMITER $$
CREATE TRIGGER after_changing_student_year
AFTER UPDATE ON student_details
FOR EACH ROW
BEGIN
INSERT INTO assigned_groups (student_id) VALUES (83);
END$$
DELIMITER ;
我還發現,將assigned_groups中的student_id列重命名為student_id_1是可行的,但這不是可行的解決方案,因為我必須進行許多這樣的觸發。
編輯:抱歉,我的PHP代碼原來是一些問題。 當我直接在mysql中編輯時,觸發器可以正常工作。 但是當我通過PHP代碼更新它時卻沒有。 可能是什么問題?
您可以這樣做,經我測試,它可以正常工作:
DELIMITER $$
CREATE TRIGGER after_changing_student_year
AFTER UPDATE ON student_details
FOR EACH ROW
BEGIN
DECLARE old_stud_id INT;
SET old_stud_id = NEW.student_id;
INSERT INTO assigned_groups (student_id) VALUES (old_stud_id);
END$$
DELIMITER ;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.