mysql触发器在更新我的表时遇到一些问题

mysql触发器在更新我的表时遇到一些问题,mysql,Mysql,嗨 我已经创建了一个触发器,当在另一个字段中插入时,我想更新一个表字段。但是我不知道它怎么知道它在更新插入的同一用户行是一些代码和数据库senerio -->行政登记 'id course_limit username 10 0 ahmad ' 注意:id是原始密钥 -->海外大学课程 'id uni_id username 1 10 ahmad' 注意:uni_id是外键或与admin_reg_abr

嗨 我已经创建了一个触发器,当在另一个字段中插入时,我想更新一个表字段。但是我不知道它怎么知道它在更新插入的同一用户行是一些代码和数据库senerio

-->行政登记

'id    course_limit   username
10          0             ahmad '
注意:id是原始密钥

-->海外大学课程

'id    uni_id   username
1        10        ahmad'
注意:uni_id是外键或与admin_reg_abr中的id相同

我为触发器编写以下代码:

DROP TRIGGER IF EXISTS ahmad.AI_course_each//

CREATE TRIGGER ahmad.AI_course_each 
AFTER UPDATE ON ahmad.abroad_course FOR EACH ROW
BEGIN
    UPDATE admin_reg_abr SET 
       admin_reg_abr.course_limit = admin_reg_abr.course_limit + 1 
    WHERE admin_reg_abr.id = new.uni_id; 
END //
如果存在,则触发 艾哈迈德·艾哈迈德每个人//

创建触发器ahmad.AI_课程 在插入艾哈迈德海外课程后 每行开始

更新admin_reg_abr集合 管理员注册课程限制= 管理员注册课程限制+1,其中 admin_reg_abr.id=new.id;结束//

我想更新相同的id如何在表中插入,但它不起作用。

您的意思是:

DROP TRIGGER IF EXISTS ahmad.AI_course_each//

CREATE TRIGGER ahmad.AI_course_each 
AFTER INSERT ON ahmad.abroad_course FOR EACH ROW
BEGIN
    UPDATE admin_reg_abr SET 
       admin_reg_abr.course_limit = admin_reg_abr.course_limit + 1 
    WHERE admin_reg_abr.id = new.uni_id; 
END //
请注意,在您的代码中,NEW.id不在admin\u reg\u abr表中

还有一件事。您正在谈论在更新时触发触发器,因此,您可能需要另一个触发器:

DROP TRIGGER IF EXISTS ahmad.AI_course_each//

CREATE TRIGGER ahmad.AI_course_each 
AFTER UPDATE ON ahmad.abroad_course FOR EACH ROW
BEGIN
    UPDATE admin_reg_abr SET 
       admin_reg_abr.course_limit = admin_reg_abr.course_limit + 1 
    WHERE admin_reg_abr.id = new.uni_id; 
END //