小编Tre*_*rev的帖子

在以下情况下是否需要表锁来保持数据完整性

在 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 语句之间没有任何变化吗?

在此先感谢您的帮助

mysql sql locking nested-sets

4
推荐指数
1
解决办法
421
查看次数

标签 统计

locking ×1

mysql ×1

nested-sets ×1

sql ×1