gpt4 book ai didi

mySQL-触发更新 COUNT 个基本插入值

转载 作者:行者123 更新时间:2023-11-29 19:06:37 25 4
gpt4 key购买 nike

我想为 mySQL 创建触发器

  1. 我的表A(id, i_Year=2017, i_Number=NULL)插入数据后触发

  2. 表 A 中有一个 count-B:计算我刚刚插入的基本内容 insert(New.i_Year)

  3. 将 count-B 更新为表 A 中的 i_Number

    DELIMITER $$
    CREATE TRIGGER update_1
    AFTER INSERT ON TABLEA
    FOR EACH ROW
    BEGIN

    UPDATE TABLEA
    SET TABLEA.i_Number = (SELECT COUNT(*)+1 FROM TABLEA WHERE TABLEA.i_Year = New.i_Year)
    FROM TABLEA
    WHERE TABLEA.id = New.id;

    END$$
    DELIMITER ;

有人可以帮我吗?

最佳答案

您可以将触发器更改为BEFORE INSERT并设置新行的计数,例如:

DELIMITER $$
CREATE TRIGGER update_1
BEFORE INSERT ON TABLEA
FOR EACH ROW
BEGIN
DECLARE row_count int;

SELECT COUNT(*)+1 INTO row_count FROM TABLEA WHERE TABLEA.i_Year = New.i_Year
SET NEW.i_Number = row_count;

END$$
DELIMITER ;

关于mySQL-触发更新 COUNT 个基本插入值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43435410/

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