问题很简单,但我找不到准确的答案: 在 myisam 数据库中,如果一个 php 文件锁定了一个表(使用原子操作,比如 INSERT)并且另一个 php 文件试图访问同一个表(读取或写入),会发生什么情况?
现在,虽然很明显第二个 session 将无法访问该表,但到底发生了什么?它会返回某种错误吗?它是否在队列中等待直到它能够访问它?
最佳答案
第二个连接将等待锁释放。
使用 MyISAM 任何写入(插入/更新/删除)都会锁定表,
但是对于 INNODB 表类型,原子操作只会锁定受影响的行
关于mysql并发: what happens if a locked table is accessed?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9785887/