mysql - 使用 Mysql 触发器删除行

标签 mysql triggers

需要在插入名为 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/

相关文章:

mysql - 为什么搜索引擎不用mysql?

mysql - 使用 APEX 创建 CRUD 应用程序

mysql - 连接 Erlang 和 mysql odbc 时出错

mysql 在插入时创建触发器

postgresql - 带参数的列 postgres 函数的默认值

sql-server - 什么时候触发,什么时候不触发

MySql on update 触发器。 DELIMITER 错误

sql - 在 select 语句中更新表

postgresql - 在postgres中的触发器内部调用具有 bool 返回值的函数

mysql - "Instead of"mysql中的触发器