Zend에서 MySQL 열에 1을 더한 정수를 증가시키는 방법이 있습니까?MySQL의 열 증가
감사
편집 :
내 현재 코드가 같은 수 있습니다 :
는$row = $this->find($imageId)->current();
$row->votes = // THIS IS WHERE I WANT TO SAY INCREMENT
$row->save();
Zend에서 MySQL 열에 1을 더한 정수를 증가시키는 방법이 있습니까?MySQL의 열 증가
감사
편집 :
내 현재 코드가 같은 수 있습니다 :
는$row = $this->find($imageId)->current();
$row->votes = // THIS IS WHERE I WANT TO SAY INCREMENT
$row->save();
나는 다음과 같은 제안을 다른 요청에서 경쟁 조건에 대해 보호하지 않습니다 ++
$row->votes++;
아주 간단한 해결책입니다. 감사합니다. . – edwinNosh
이것은 연결 사이의 경쟁 상태로 고통 받고 있으며 나쁜 해결책입니다. –
예있다. 다음 예는 수량 필드 제품을 사용하고 증가의 :
$table = 'products';
$data = array('prd_qnty' => new Zend_Db_Expr('prd_qnty + 1'));
$where[] = $db->quoteInto('pr_id = ?', $this->pr_id);
$db->update($table, $data, $where);
표를 제공 할 수 있음을를하는 것이 바람직하다, 그 이유입니다 데이터베이스 솔루션. 예를 들어
: 상상이 요청은 거의 동시에
1st request loads object - votes is 500
2nd request loads object - votes is 500
1st increments value in memory - votes is 501
2nd increments value in memory - votes is 501
1st saves to db - votes is 501
2nd saves to db - votes is 501 (should be 502)
예에서 온 - 당신이 젠드 프레임 워크를 의미합니까 자세한 내용 – bensiu
을 제공 한 후? 그렇다면 어떤 구성 요소입니까? Zend_Db, Zend_Db_Table, 다른 것? – Phil