我想知道锁定表的事务是否也会锁定所有其他链接表?
示例:
表1:
userId | ready
--------------
3 | 1
1 | 0
... | ...
表2:
id | name
----------
0 | John
1 | 0
n | ...
表1有表2的外键。
表2的id是Pkey。
如果我在事务中更新表1,它会锁定表2吗?
如果我在事务中更新表2,它会锁定表1吗?
[编辑]
更多信息: 锁定升级:表格 userId通过外键链接到id。
我希望这是足够的信息。
答案 0 :(得分:2)
在四大数据库(Oracle
,SQL Server
,PostgreSQL
,MySQL
)的数据库中,对一个链接表的更新将锁定另一个表击>
是的,它可能锁定表格,请参阅@a_horse_with_no_name
的评论。
此外,如果您的引用约束被定义为CASCADE
或SET NULL
,那么对主表的更新将触发子表的更新,这当然也将锁定子表