mysql数据不存在就插入 否则就更新数据

萧红SEO SEO爱好者,分享SEO经验~

下面来看一个mysql 数据不存在就插入,否则就更新数据的例子,希望例子能帮助到各位同学.有2种方法,代码如下:

  1. insertignoreinto{$this->getTable(‘core_config_data’)}(scope,scope_id,path,value)values(‘default’,0,’dev/debug/template_hints’,0);

注:如果使用的是insert into 发现重复的会报错,而insert ignore into 发现将要插入的数据行中包含唯一索引的字段值已存在,会丢弃掉这行数据,不做任何处理,代码如下:

  1. replaceinto{$this->getTable(‘core_config_data’)}(scope,scope_id,path,value)values(‘default’,0,’dev/debug/template_hints’,0);

注:REPLACE发现重复的先删除再插入,如果记录有多个字段,在插入的时候如果有的字段没有赋值,那么新插入的记录这些字段为空,所以为了更好的解决这个问题,我们可以进入一些操作,代码如下:

  1. /如果不存在,则插入新数据
  2. $sql=“INSERTINTO{$ecs->table(‘cat_lang’)}(cat_id,lang_id,cat_name,keywords,cat_desc)
  3. VALUES({$cat_id},{$k},’{$val['cat_name']}’,'{$val['keywords']}’,'{$val['cat_desc']}’)
  4. ONDUPLICATEKEYUPDATEcat_name=’{$val['cat_name']}’,cat_desc=’{$val['cat_desc']}’,keywords=’{$val['cat_desc']}’”;
  5. //开源代码phpfensi.com

这里要注意的是,必须表主键唯一,这里,这里我采用的是 分类id和语言id双主键机制,具体sql,代码如下:

  1. INSERTINTOTABLE(a,b,c)
  2. VALUES(1,2,3)ONDUPLICATEKEYUPDATEc=c+1;
  3. UPDATETABLESETc=c+1WHEREa=1;

key为唯一键或者主键.

相关广告
  • mysql数据不存在就插入 否则就更新数据 mysql数据不存在就插入 否则就更新数据 mysql数据不存在就插入 否则就更新数据
相关阅读

mysql数据不存在就插入 否则就更新数据

2019/10/10 17:37:54 | 谷歌SEO算法 | SEO培训