SQL 标准是否指定了多表查询的锁定顺序?
例如,给定:
SELECT department.id FROM permissions, terminals, departments WHERE department.id = ? AND terminal.id = ? AND permissions.parent = department.id AND permissions.child = terminals.id;
- SQL 标准是否保证锁定顺序,还是由(特定于实现的)执行计划确定?
- 有没有办法保证锁定订单?
- 如果没有办法保证锁定顺序,我们应该如何防止死锁?
更新:请不要在没有解释你的理由的情况下投票关闭这个问题。就我而言,这是一个编程问题,这使它成为 Stackoverflow 的热门话题。如果您认为该问题需要进一步完善,请解释,我将非常乐意为您解答。