MySQL 批量执行 UPDATE 操作是指在同一条 SQL 语句中更新多行数据,而不是逐行更新。这可以通过使用 CASE 语句或者 JOIN 子句来实现。
CASE 语句:CASE 语句:JOIN 子句:JOIN 子句:原因:
解决方法:
原因:
解决方法:
FOR UPDATE SKIP LOCKED 语句来跳过已经被锁定的行。假设我们有一个 users 表,需要批量更新用户的年龄:
-- 使用 CASE 语句进行批量更新
UPDATE users
SET age = CASE
WHEN id = 1 THEN 25
WHEN id = 2 THEN 30
WHEN id = 3 THEN 35
...
END;-- 使用 JOIN 子句进行批量更新
UPDATE users
INNER JOIN (SELECT id, new_age FROM update_data) AS subquery
ON users.id = subquery.id
SET users.age = subquery.new_age;希望这些信息对你有所帮助!如果有更多问题,请随时提问。
没有搜到相关的文章