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,把对应的表的所有数据删除即可。
![](https://i-blog.csdnimg.cn/blog_migrate/7c3ef66b63f808c3ba301c43fd553b5e.jpeg)
但这是治标不治本的方法并且也不合理,经过检查,我是因为在设计数据库的表的primary key的时候,没有设置AUTO-INCREMENT,导致插入新纪录时出现重复。我们把表中设置为primary key的字段,设置为 auto_increment 即可。如下:
![](https://i-blog.csdnimg.cn/blog_migrate/92102436ea21a6f0fd39fc365cb74ace.png)
若您也出现了这种情况,不妨检查一下设计数据库表时,是否出错了。