这和MYSQL的默认事务隔离度有关系,也和PB有关系。
MYSQL默认的事务隔离度为REPEATABLE READ ,而你的PB是处于自动AUTOCOMMIT状态,即每个COMMIT语句后自动给你隐含加上一个BEGIN TRANSACTION,使你的PB永远处于一个TRANSACTION之中,根据REPEATABLE READ(可重复读)的定义,你在这个TRANSACTION中所读的数据永远是在BEGIN TRANSACTION时的快照,所以他人的修改(即使已经COMMIT)你永远不能看到。解决的方案可以是以下任一种:
1。改变MYSQL事务隔离度为 READ COMMITED
2。改变PB的AUTOCOMMIT为否
3。在每个RETRIEVE前, 手动加上一条语句COMMIT。
以上方案必须仔细推敲,因为可能会引起其他的问题。