Think PHP5完美解决Duplicate entry ‘主键名’ for key ‘PRIMARY’错误
这几天写一个web系统,在数据表导入的时候出现Duplicate entry ‘xxx’ for key ‘PRIMARY’错误,网上查找资料千篇一律都是使用Mysql原生语句replace/replace into,翻阅了tp5开发手册也没有找到如何避免出现这个问题的方法。
首先看这个问题,这个问题主要是因为插入数据时候数据中包含主键“xxx”,而且数据表里面已经有这个主键名“xxx",简单地说就是主键重复造成冲突,既然不用原生sql语句,那么我就使用了最简单的if语句,判断主键是否存在,如果存在那么我选择更新这个主键的数据,不进行插入操作。如果主键不存在,那么我直接调用Db->…->insert();插入数据。这个方法虽然很傻瓜式,但是亲测还是可以用的!
注:写给新手,大神勿喷
$reports = new Casereport; //实例化模型
for($j=0