在 MySQL 中,我有一个由嵌套集表示的树。嵌套集的操作需要修改表中的多行。例如,向树中添加一个节点将需要对左右值重新排序...
SELECT @myLeft := lft FROM folders WHERE ID = ?;
UPDATE folders SET rgt = rgt + 2 WHERE rgt > @myLeft;
UPDATE folders SET lft = lft + 2 WHERE lft > @myLeft;
Run Code Online (Sandbox Code Playgroud)
目前我正在将其包装在交易中。但是,我想知道...事务是否足以确保数据完整性?
我担心因为有两个单独的 UPDATE 语句,在高容量环境中这可能会导致问题......我还应该锁定表,以确保这两个 UPDATE 语句之间没有任何变化吗?
在此先感谢您的帮助