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

时间:2014-01-14 11:04:11

标签: mysql sql transactions

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

交易道具:: 默认情况下是“REPEATABLE READ”但我已经尝试了所有其他级别(全局,会话范围和本地范围)

但代码总是卡在第三个插入.. 代码如下::

insert into client(1);

insert into service (id,clientID) values (1,1);

insert into relTble (ParentServiceID,ChildServiceID) values (4,1);

事实上,每个插入都发生在具有“假设”新连接但具有Pconnect(..)的类中;最终将在同一会议中.. mysql_error告诉我:: “超出锁定等待超时;尝试重新启动事务”。 但是当我在服务器上尝试相同的查询时,在交易中他们完美地工作了。 所以,如果您对pconnect一无所知,请在一段时间后打开一个新的会话,或者或者......请告诉我!

1 个答案:

答案 0 :(得分:0)

pconnect支持mysql的连接池。因此,如果您与数据库有多个连接,则无法保证各个请求将重用相同的连接。必须执行此操作,否则您将有三个不同的交易。