gpt4 book ai didi

mysql 重复插入和更新

转载 作者:行者123 更新时间:2023-11-29 08:31:20 25 4
gpt4 key购买 nike

我有一个包含多个列的表,我正在对其进行乘数插入。

即:

INSERT INTO accounting_positions
KEYS (`date`, `customer`, `type`, `product`, `volume`, `payout`, `count`)
VALUES ('2012-01-10','10','regular','60sec',65,83,13),
('2012-01-10','10','regular','binary',15,83,13)
ON DUPLICATE KEY UPDATE volume=volume+CURRENT_COL_VAL;

我应该写什么来代替“CURRENT_COL_VAL”?如果我想用插入中的值更新重复行。

因为我无法在其中放置静态数字,因为它与多重插入中的每一行插入都不同

最佳答案

看看 mysql docu on insert-on-duplicate从那里你可以看到你可以使用这样的东西:

INSERT INTO table (a,b,c) VALUES (1,2,3),(4,5,6)
ON DUPLICATE KEY UPDATE c=VALUES(a)+VALUES(b);

就你的情况而言:

INSERT INTO accounting_positions
(`date`, `customer`, `type`, `product`, `volume`, `payout`, `count`)
VALUES
('2012-01-10','10','regular','60sec',65,83,13),
('2012-01-10','10','regular','binary',15,83,13)
ON DUPLICATE KEY UPDATE volume=volume+VALUES(volume);

这将添加新值和旧值。如果您只想给定的插入值覆盖该行,请执行以下操作:ON DUPLICATE KEY UPDATE volume=VALUES(volume)

关于mysql 重复插入和更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16507417/

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