gpt4 book ai didi

MySQL 触发器——未插入正确的值

转载 作者:行者123 更新时间:2023-11-29 06:16:10 24 4
gpt4 key购买 nike

此触发器的目标是,如果每行更新的数据不等于每行当前数据,则将每行旧数据插入到表中。

delimiter //
CREATE TRIGGER history BEFORE UPDATE ON table1

FOR EACH ROW
BEGIN
IF NEW.salePrice <> OLD.salePrice THEN

INSERT INTO history_price (modelNumber,salePrice)
VALUES ('modelNumber','OLD.salePrice');

ELSEIF NEW.salePrice = OLD.salePrice THEN
SET NEW.salePrice = OLD.salePrice;

END IF;

END;//
delimiter ;

总而言之,这个概念应该有效,但插入不起作用。它仅插入实际文本,而不插入值。

更具体地说:

    INSERT INTO history_price (modelNumber,salePrice)
VALUES
('modelNumber','OLD.salePrice');

如果更新的值不相等,我的触发器的这一部分实际上会将 modelNumber 和 OLD.salePrice 插入到我的历史表中。

这个查询有什么问题?

最佳答案

modelNumber 和 OLD.salePrice 可能不应该用单引号引起来。

关于MySQL 触发器——未插入正确的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6377889/

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