2011-08-26 66 views
5

需要插入一個表叫jos_jquarks_quizzes後做觸發器,我需要創建具有相同的名稱作爲QUIZZ名稱,但其自身的ID課程名稱,刪除行與一個MySQL觸發

jos_jquarks_quizzes 

id  title  description  course_id 

jos_jquarks_users_training 
id  quiz_id  user_id  agree 

到目前爲止,我的觸發看起來是這樣,但有一個錯誤

-- Trigger DDL Statements 
DELIMITER $$ 

USE `db_dhruniversity`$$ 

CREATE 
TRIGGER `db_dhruniversity`.`ai_delete_course` 
AFTER DELETE ON `jos_jquarks_quizzes` 
FOR EACH ROW 
BEGIN  
DELETE FROM jos_jquarks_courses 
WHERE (quiz_id = new.id); 
END$$ 

回答

8

在您的where子句變化new.id到old.id

-- Trigger DDL Statements 
DELIMITER $$ 

USE `db_dhruniversity`$$ 

CREATE 
TRIGGER `db_dhruniversity`.`ai_delete_course` 
AFTER DELETE ON `jos_jquarks_quizzes` 
FOR EACH ROW 
BEGIN  
DELETE FROM jos_jquarks_courses 
WHERE (quiz_id = old.id); 
END$$ 
+0

謝謝我希望我可以學習更多關於觸發器,你能建議一個好的教程>? – Tony77