交易锁定在不应该锁定的地方!



我有这段代码,我在一个事务中执行三次插入:

交易道具:默认情况下是"可重复读取",但我已经尝试了所有其他级别(全局、会话范围和本地范围)

但代码仍然总是卡在第三个插入处。代码如下:

insert into client(1);
insert into service (id,clientID) values (1,1);
insert into relTble (ParentServiceID,ChildServiceID) values (4,1);

事实上,这些插入中的每一个都发生在一个具有"假定"新连接但与 Pconnect(..) 的类中;最终将在同一会话中。mysql_error告诉我 ::"超出锁定等待超时;尝试重新启动事务"。但是当我在服务器上尝试相同的查询时,在事务中它们运行良好。因此,如果您对 PCONNECT 有任何了解,请 ,以便它在一段时间后打开一个新会话,或者。请告诉我!

pconnect 支持 MySQL 的连接池。因此,如果有多个数据库连接,则无法保证各个请求将重用同一连接。这必须强制执行,否则您将有三笔不同的交易。

相关内容

最新更新