如果我尝试在单个函数中更新表两次,则第一次更新会回滚:
假设我有一个包含列“a”、“b”和“c”的表。该表有两行值:1[a=0, b=0, c=1] 和 2[a=0, b=0, c=2]。
如果我尝试在单个函数中更新同一个表,如下所示:
UPDATE table 'mytable' SET ('a', 'b') VALUES (1, 2) WHERE 'c' = 1;
UPDATE table 'mytable' SET ('a', 'b') VALUES (3, 4) WHERE 'c' = 2;
结果将如下所示:
[a=0, b=0, c=1]
[a=3,b=4,c=2]。
这让我相信一旦第二个更新语句启动,第一个更新语句就会回滚。为什么会这样以及如何预防?