gpt4 book ai didi

mysql - INSERT ON DUPLICATE KEY 一次更新多行

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

我正在使用 node.js 和 mysql。我正在尝试使用一个查询插入多行,如果具有该主键的行已经存在,请更新它。

PK 是exchange + currency1 + currency2

但只有一行被插入(而不是五行)。

这是我的valuesArray:

  [ [ 4, 'BTC', 'IDR', 10440000, 10391000 ],
[ 4, 'BTC', 'MYR', 2380, 2095 ],
[ 4, 'BTC', 'ZAR', 11216, 11201 ],
[ 4, 'BTC', 'SGD', 1100, 1093 ],
[ 4, 'BTC', 'NGN', 403500, 402701 ] ]

这是我的查询:

connection.query("INSERT INTO rates (exchange,currency1,currency2,buyrate,sellrate) VALUES(?) ON DUPLICATE KEY UPDATE buyrate=VALUES(buyrate), sellrate=VALUES(sellrate)", valuesArray, function (err) {
});

我已经尝试将我的查询更改为此(只需在 valuesArray 周围添加 [ ]):

connection.query("INSERT INTO rates (exchange,currency1,currency2,buyrate,sellrate) VALUES(?) ON DUPLICATE KEY UPDATE buyrate=VALUES(buyrate), sellrate=VALUES(sellrate)", [valuesArray], function (err) {
});

但是我得到了这个错误:

{ [Error: ER_OPERAND_COLUMNS: Operand should contain 1 column(s)]
code: 'ER_OPERAND_COLUMNS',
errno: 1241,
sqlState: '21000',
index: 0 }

最佳答案

answer by @Solarflare:

使用 ...VALUES ? ON DUPLICATE...(无括号)和 [valuesArray](有括号)。

关于mysql - INSERT ON DUPLICATE KEY 一次更新多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41053163/

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