mysql数据不存在就插入 否则就更新数据
发布:smiling 来源: PHP粉丝网 添加日期:2014-09-23 15:52:57 浏览: 评论:0
下面来看一个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发现重复的先删除再插入,如果记录有多个字段,在插入的时候如果有的字段没有赋值,那么新插入的记录这些字段为空,所以为了更好的解决这个问题,我们可以进入一些操作,代码如下:
- /如果不存在,则插入新数据
- $sql = “INSERT INTO {$ecs->table(‘cat_lang’)} (cat_id,lang_id,cat_name,keywords,cat_desc)
- VALUES({$cat_id},{$k},’{$val['cat_name']}’,'{$val['keywords']}’,'{$val['cat_desc']}’)
- ON DUPLICATE KEY UPDATE cat_name=’{$val['cat_name']}’,cat_desc=’{$val['cat_desc']}’,keywords=’{$val['cat_desc']}’”;
- //开源代码phpfensi.com
这里要注意的是,必须表主键唯一,这里,这里我采用的是 分类id和语言id双主键机制,具体sql,代码如下:
- INSERT INTO TABLE (a,b,c)
- VALUES (1,2,3) ON DUPLICATE KEY UPDATE c=c+1;
- UPDATE TABLE SET c=c+1 WHERE a=1;
key为唯一键或者主键.
Tags: mysql数据不存 mysql更新数据
相关文章
- ·MySQL随机读取与更新n条数据的方法(2014-09-23)
- ·MySQL入门插入、删除和更新数据sql语句(2014-09-27)
- ·mysql更新修改数据表结构sql语句(2014-10-03)
- ·mysql update语句使用方法总结(2014-10-03)
- ·mysql更新数据之update set用法(2014-10-09)
- ·mysql保存数据之存在就更新,否则就保存数据(2014-10-15)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)