行锁注意事项
最后更新于:2022-04-02 04:32:52
## 行锁注意事项
```php
// 3-认领成功,5-出售中 只有这两种状态才有出售信息
// AND status IN (3,5) where 在上面,会造成“锁不到”或者范围锁
if (!in_array($recordInfo['status'], array(3, 5))) {
throw new Exception('非法操作!', 4);
$res = array('error' => 1, 'message' => '');
}
// 行锁专利商品表,未锁定状态下才可以操纵我的专利!
$sql = "SELECT goods_id FROM ecs_goods WHERE goods_id = {$patentId}";
$patentInfo = $db->lock(true)->getRow($sql);
if (!$patentInfo) {
// 有可能别人正在下单在
throw new Exception('非法操作!', 4);
}
// where 不在锁里面 的原因 同上
// 确定条件 才写在所里面
if ($patentInfo['s_patent_lock_status'] != 0) {
throw new Exception('请刷新再试!', 4);
}
```
last update: 2019-03-19 10:28:22
';