gpt4 book ai didi

mysql 触发器在更新我的表时出现一些问题

转载 作者:行者123 更新时间:2023-11-29 14:52:36 25 4
gpt4 key购买 nike

嗨我创建了一个触发器,我想在插入另一个字段时更新表字段。但我不知道它如何知道它更新在此处插入的同一用户行是一些代码和数据库高级

--> admin_reg_abr

'id    course_limit   username
10 0 ahmad '

注意:id 是主键

--> 国外类(class)

'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 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.id; END //

我想更新表中插入方式的相同 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_reg_abr 表中的任何位置

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

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 //

关于mysql 触发器在更新我的表时出现一些问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5431647/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com