Integrity constraint violation – yii\db\IntegrityException
SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicata du champ '0' pour la clef 'PRIMARY'
The SQL being executed was: INSERT INTO `equipment` (`equi_name`, `equi_SN`, `equi_intro`, `equi_state`, `equi_place`, `addtime`, `code`) VALUES ('1', '1', '1', '1', '1', '1457513867', '1')
Error Info: Array
(
[0] => 23000
[1] => 1062
[2] => Duplicata du champ '0' pour la clef 'PRIMARY'
)
网上找到的解决方法,进入http://localhost/phpmyadmin,把对应的表的所有数据删除即可。

但这是治标不治本的方法并且也不合理,经过检查,我是因为在设计数据库的表的primary key的时候,没有设置AUTO-INCREMENT,导致插入新纪录时出现重复。我们把表中设置为primary key的字段,设置为 auto_increment 即可。如下:

若您也出现了这种情况,不妨检查一下设计数据库表时,是否出错了。
本文介绍了如何解决在Yii框架下遇到的因未设置主键自增而导致的数据库插入重复记录错误。通过调整表结构,将主键字段设为自增解决了该问题。
1461

被折叠的 条评论
为什么被折叠?



