多个更新语句- MariaDB [重复]

1sbrub3j  于 2022-11-08  发布在  其他
关注(0)|答案(3)|浏览(210)

此问题在此处已有答案

Multiple SQL query not working with delimiter on DBeaver(4个答案)
三个月前关门了。
我使用dbeaver连接到一个Mariadb。当我试图运行一个多行更新语句时,例如:

update x set warehouse_id='WH02' where soh_id='f0b4d220';
update x set warehouse_id='WHU1' where soh_id='17482705';

我收到错误“原因:异常错误代码:您的SQL语法中有错误;请查看与您的MariaDB服务器版本相对应的手册,以了解在“...”附近使用的正确语法。如果我对MySQL工作台中创建的数据库连接运行相同的查询,则它运行时没有任何问题。
我假设'的用法有问题;'但是我找不到在Mariadb中运行多个update语句的方法。我做错了什么?

igetnqfo

igetnqfo1#

当字段soh_id具有唯一键时,可以使用INSERT INTO .... ON DUPLICATE KEY语句,如下所示。

INSERT INTO x (soh_id, warehouse_id)
VALUES
   ('f0b4d220','WH02')
  ,('17482705','WHU1')
  ON DUPLICATE KEY UPDATE warehouse_id = VALUES(warehouse_id;
krugob8w

krugob8w2#

要在dbeaver中进行批更新,需要通过选择查询并运行Alt+X来运行脚本。

63lcw9qa

63lcw9qa3#

你可以试试这个:

update x
set warehouse_id = case soh_id
 when 'f0b4d220' then 'WH02'
when '17482705' then 'WHU1'
end
where soh_id in ('f0b4d220', '17482705')

相关问题