我有一个 cli php 脚本,每当电子邮件到达特定地址时都会执行该脚本。
当一封新电子邮件到达时,会执行一个新的脚本实例,但由于它们读取/写入相同的数据库表,有时会写入错误的数据。
我的问题是,如果第一个脚本锁定了它需要的所有表,并且脚本的第二个/第三个等实例运行,他们会等待表被第一个执行的脚本解锁吗?如果是,持续多长时间?
最后,我要做的是让脚本以串行方式一个接一个地执行读/写操作,以避免重复和错误。
最佳答案
是的,它会等待。这是由数据库服务器完成的,客户端应用程序完全不知道它正在发生——据它所知,数据库执行查询的速度很慢。
关于php - 如果 php 脚本想从锁定的表中读取,它会等待吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16870437/