需要在插入名为 jos_jquarks_quizzes 的表后触发,我需要创建一个与测验名称同名的类(class)名称,但有自己的 ID,
表格
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$$
最佳答案
在您的 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$$
关于mysql - 使用 Mysql 触发器删除行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7209188/