gpt4 book ai didi

Mysql 触发器将数字添加到重复键上的新值

转载 作者:行者123 更新时间:2023-11-29 18:18:22 27 4
gpt4 key购买 nike

我正在尝试将数据导入到新表中,但结果发现两个不同列中的某些值是重复的,但它似乎不起作用。这就是我的触发器的样子:

DELIMITER //

CREATE TRIGGER insert_specificationattributeoption_child AFTER INSERT ON import_specificationattributeoption FOR EACH ROW
BEGIN
INSERT INTO t_virtuemart_customs (virtuemart_custom_id, custom_parent_id, custom_title, show_title, field_type, custom_params, created_on, created_by, ordering, modified_on, modified_by)
VALUES (NEW.option_id, NEW.specification_attribute_id, NEW.option_name, lower(NEW.option_name), 'S', 0, current_time(), 633, NEW.display_order, current_time(), 633)
ON DUPLICATE KEY UPDATE NEW.option_id = NEW.option_id + 5000;
END //

使用触发器,我没有收到重复 key 错误,但我没有看到任何 key 超过 5000。我在那里做错了什么? “找到”最高的 id 并将新的 id 添加到其中会更好吗?

编辑:基本上我想要做的是,如果我要插入已经存在的主键,请更改我要插入的值。

最佳答案

我不清楚你想做什么。触发器必须检测重复键,因为没有显示重复错误,但 UPDATE NEW.option_id = NEW.option_id + 5000 对表没有影响。如果要修改表,则语法为 UPDATE option_id = NEW.option_id + 5000 -注意,这还会将下一个 auto_increment 值修改为 NEW.option_id + 5000 + 1。

关于Mysql 触发器将数字添加到重复键上的新值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46806983/

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