gpt4 book ai didi

SQLITE 批量更新语句

转载 作者:IT王子 更新时间:2023-10-29 06:27:25 34 4
gpt4 key购买 nike

我想执行许多像这样的 SQL UPDATE 语句:

UPDATE cityd SET time_zone='-7.000000' WHERE locId = 173567;
UPDATE cityd SET time_zone='-8.000000' WHERE locId = 173568;
UPDATE cityd SET time_zone='-6.000000' WHERE locId = 173569;
UPDATE cityd SET time_zone='-5.000000' WHERE locId = 173570;
UPDATE cityd SET time_zone='-6.000000' WHERE locId = 173571;

我想优化交易时间,所以我需要使用 BEGIN TRANSACTION/COMMIT 对。如何在 SQLtite Manager 中用 SQL 语法写这个?

编辑:当我在 SQLite 管理器中使用标准语法时,我收到此错误消息:“SQLiteManager:BEGIN TRANSACTION;[无法在事务中启动事务”

最佳答案

根据SQL Documention , CASE

支持两种语法
CASE x WHEN w1 THEN r1 WHEN w2 THEN r2 ELSE r3 END

CASE WHEN x = w1 THEN r1 WHEN x = w2 THEN r2 ELSE r3 END

所以你的多个UPDATE语句可以进一步简化为

UPDATE  cityd
SET time_zone = CASE locId
WHEN 173567 THEN '-7.000000'
WHEN 173568 THEN '-8.000000'
WHEN 173569 THEN '-6.000000'
WHEN 173570 THEN '-5.000000'
WHEN 173571 THEN '-6.000000'
END
WHERE locId IN (173567, 173568, 173569, 173570, 173571)

关于SQLITE 批量更新语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15501779/

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