2011-06-12 20 views
1

ZF/PHP 這是我的課投票:問題與Zend_Db的

class Votes extends Zend_Db_table { 

protected $_name = 'votes'; 

public function vote($object_id, $user_id, $vote){ 

    $data = array('object_id' => $object_id, 'user_id' => $user_id, 'value' => $vote); 
    $this->insert($data); 

    return true; 

} 
} 

在 '選票' 有 '身份證' 的主鍵。 我得到: 完整性約束違規:1062重複條目'0'的關鍵'PRIMARY' 當我打電話投票。這意味着引擎每次嘗試使用'0'作爲id的值進行插入。 如何強制插入以自動增加'id'列?

+0

迂腐記:你應該延長Zend_Db_Table_Abstract – 2011-06-12 16:38:30

回答

4

製作的投票表的id,一個自動遞增字段設置爲主鍵。這應該可以解決問題。

+0

好吧,我相信,我有id作爲一個auto_increment ,現在沒關係,謝謝 – impiix 2011-06-12 15:27:25

0

不要添加ID - 確保數據庫設置爲自動遞增 字段類型,並且還使用

protected $_primary 
+0

感謝,同時也作品,未經保護的聲明 – impiix 2011-06-12 15:28:26

0

數據庫中的id字段應該定義爲自動遞增。

在MySQL中的語法是這樣的:

id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT