[求助]关于批量更新数据的时候,指定更新顺序的问题
UPDATE accounts
SET balance = CASE
WHEN account_number = '50012014' THEN 0
WHEN account_number = '40210042' THEN 0
WHEN account_number = '1010000228' THEN 0
WHEN account_number = '1010006973' THEN 0
WHEN account_number = '719770' THEN 0
WHEN account_number = '719772' THEN 0
WHEN account_number = '719781' THEN 0
WHEN account_number = '719790' THEN 0
ELSE balance
END,
credit = CASE
WHEN account_number = '50012014' THEN 90
WHEN account_number = '40210042' THEN 0
WHEN account_number = '1010000228' THEN 0
WHEN account_number = '1010006973' THEN 0
WHEN account_number = '719770' THEN 0
WHEN account_number = '719772' THEN 0
WHEN account_number = '719781' THEN 0
WHEN account_number = '719790' THEN 0
ELSE credit
END,
update_date = CASE
WHEN account_number = '50012014' THEN '2024-05-16 06:37:00'
WHEN account_number = '40210042' THEN '2024-05-16 06:37:00'
WHEN account_number = '1010000228' THEN '2024-05-16 06:37:00'
WHEN account_number = '1010006973' THEN '2024-05-16 06:37:00'
WHEN account_number = '719770' THEN '2024-05-16 06:37:00'
WHEN account_number = '719772' THEN '2024-05-16 06:37:00'
WHEN account_number = '719781' THEN '2024-05-16 06:37:00'
WHEN account_number = '719790' THEN '2024-05-16 06:37:00'
ELSE update_date
END
WHERE account_number IN ('50012014','40210042','1010000228','1010006973','719770','719772','719781','719790');
以上的sql我想要根据WHERE account_number IN ('50012014','40210042','1010000228','1010006973','719770','719772','719781','719790');
的顺序进行更新,但是好像这个sql并不一定会根据这个顺序更新。
这个account_number的顺序是 accounts.account_id的升序。
如果我想要按照这个顺序更新的话,我该如何实现呢。非常感谢!