[請益] MySql lock
這好像應該在DB版問,不過我比較愛這裡啦
php:5.3 mysql 5.0
是這樣來著,我在交易模式底下先用PK查了一筆資料
確認這筆資料後再用這個PK去where ,並修改了一個欄位
這裡是code
foreach($data AS $v){
$result = $this->foo($v);
if($result['data']){
$result['data']['column_a'] = '我愛一條柴';
}
//這邊再把資料update回去
}
然後就鎖住了,shit
google了一下,似乎只要是用索引查的就會row lock
這樣不就變成我每查詢完就要commit,然後再塞,很不給力啊(支那用語)
因為我的回傳都是同一個方法
return return_msg
(__FILE__, __LINE__,array('data' => $result['data']), $result['code'] );
[上面是同一行]
$result['data']是查詢後的資料,$result['code']MySql錯誤代碼
所以我的commit都放在這個回傳裡,一旦$result['code']為真時會rollback
如果還要在程式裡寫commit,那不就多此一舉了,請問各位大神,此題有解嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.117.208.2
※ 編輯: rocairforce 來自: 122.117.208.2 (06/03 21:50)
→
06/03 22:13, , 1F
06/03 22:13, 1F
→
06/04 00:03, , 2F
06/04 00:03, 2F
→
06/04 00:08, , 3F
06/04 00:08, 3F
→
06/04 01:11, , 4F
06/04 01:11, 4F
→
06/04 01:12, , 5F
06/04 01:12, 5F
→
06/04 09:44, , 6F
06/04 09:44, 6F
PHP 近期熱門文章
PTT數位生活區 即時熱門文章
5
22