2011-06-12 47 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