【发布时间】:2022-01-31 19:46:49
【问题描述】:
有没有办法在 MySQL 的单个查询中一次更新多行?现在我对每个条件有 4 个查询。我想将以下所有更新合并到一个性能最佳的查询中。
UPDATE rates SET timestamp = 1643655901, bnb = 'value1', eth = 'value2', usdc = 'value3' WHERE base = 'btc';
UPDATE rates SET timestamp = 1643655901, bnb = 'value4', btc = 'value5', usdc = 'value6' WHERE base = 'eth';
UPDATE rates SET timestamp = 1643655901, eth = 'value7', btc = 'value8', usdc = 'value9' WHERE base = 'bnb';
UPDATE rates SET timestamp = 1643655901, bnb = 'value10', btc = 'value11', eth = 'value12' WHERE base = 'usdc';
timestamp 字段对于任何查询都可以相同
value1 - value12基于不同变量的动态数据
我正在寻找类似问题的其他答案,但无法构建查询,感谢您的帮助。
【问题讨论】:
-
您可能会编造一个案例表达式,但您所拥有的更容易阅读和修改。
-
我不担心阅读,我想在一个查询中完成,我查看了 CASE 示例,但没有找到适合我的类似案例。
-
请提供
SHOW CREATE TABLE rates;那么我可能有办法使用 IODKU 来实现您的目标。
标签: mysql sql sql-update