被 think PHP旧版本坑了一下

2016-10-26 11:15:00
hainuo
原创 1132
摘要:被 think PHP旧版本坑了一下
使用think PHP3.2.2版本发现可以用悲观锁于是按照手册使用,被坑。原因 `update 语句`根本不需要`for upate` > 悲观锁( Pessimistic Locking ) > 悲观锁,正如其名,它指的是对数据被外界(包括本系统当前的其他事务,以及来自外部系统的事务处理)修改持保守态度,因此,在整个数据处理过程中,将数据处于锁定状态。悲观锁的实现,往往依靠数据库提供的锁机制(也只有数据库层提供的锁机制才能真正保证数据访问的排他性,否则,即使在本系统中实现了加锁机制,也无法保证外部系统不会修改数据)。 通常是使用for update子句来实现悲观锁机制。 > ThinkPHP支持悲观锁机制,默认情况下,是关闭悲观锁功能的,要在查询和更新的时候启用悲观锁功能,可以通过使用之前提到的查询锁定方法,例如: > `$User->lock(true)->save($data);// 使用悲观锁功能` 以上示例中的语句是错误的。mysql 5.7下证明不可用