我们知道:当对一张表a进行update操作时,如果其他表b引用该表的某个字段col作为外键,无论该表a这个字段是否更新为其他操作,都会锁表。但还有一种情况:当b表正在做update时,此时在试图update主表a,我发现有两种情况:
1)如果b表引用外键的这个字段建了索引,则无论a表update和b表的update是否是征对同一记录col,b的update并不能锁a的update。
2)如果b表引用外键的字段没有建索引,则无论a表update和b表update是否是征对同一记录的col,b的update都会锁a的update。征对以上的结果,我觉得2)是可以理解的,但1)有一点不能理解:当a和b都是在update同一col对应的记录(不是update字段col),为什么不会锁表呢?