mysql 数据不存在就插入 否则就更新数据
有2种方法:
代码如下 | |
insert ignore into {$this->getTable(‘core_config_data’)} (scope,scope_id,path,value) values (‘default’,0,’dev/debug/template_hints’,0); |
注:如果使用的是insert into 发现重复的会报错,而insert ignore into 发现将要插入的数据行中包含唯一索引的字段值已存在,会丢弃掉这行数据,不做任何处理
代码如下 | |
replace into {$this->getTable(‘core_config_data’)}(scope,scope_id,path,value) values(‘default’,0,’dev/debug/template_hints’,0); |
注:REPLACE发现重复的先删除再插入,如果记录有多个字段,在插入的时候如果有的字段没有赋值,那么新插入的记录这些字段为空,所以为了更好的解决这个问题,我们可以进入一些操作
代码如下 | |
/如果不存在,则插入新数据 |
这里要注意的是:必须表主键唯一 。这里,这里我采用的是 分类id和语言id双主键机制。
具体sql如:
代码如下 | |
INSERT INTO TABLE (a,b,c) |
key为唯一键或者主键