`

Mysql "insert ... on duplicate key update "和"replace into"

阅读更多

1. INSERT ... ON DUPLICATE KEY UPDATE

http://dev.mysql.com/doc/refman/5.6/en/insert-on-duplicate.html

insert into tableName values (1,  "testvalue", now()) on duplicate key update value=values(value), gmt_modify=values(gmt_modify);

前置条件:

      1. 一定要有主键,或者唯一索引

      2. 确认需求是,欲插入的记录在主键存在的情况下,需要做update, 否则执行insert.

 

语法解释:

      该语法可能要执行的动作是insert/update。

      如果主键已存在,执行update,否则执行insert。

 

说明:

      1. update 可更新多个字段

      2. 更新值可以从values中获取,也可自定义。

 

2. REPLACE

http://dev.mysql.com/doc/refman/5.6/en/replace.html

 

replace有多种用法,我只介绍replace into。

replace into tableName(id,value, gmt_modify) values(1, "testvalue", now());

前置条件:

      1. 一定要有主键,或者唯一索引

 

语法解释:

      该语法可能要执行的动作是insert/delete&insert。

      如果主键已存在,先删后增,否则执行insert。

 

 

分享到:
评论

相关推荐

    MySQL的Replace into 与Insert into on duplicate key update真正的不同之处

    今天听同事介绍oracle到mysql的数据migration,他用了Insert into ..... on duplicate key update ...,我当时就想怎么不用Replace呢,于是回来就仔细查了下,它们果然还是有区别的

    mysql 中 replace into 与 insert into on duplicate key update 的用法和不同点实例分析

    主要介绍了mysql 中 replace into 与 insert into on duplicate key update 的用法和不同点,结合实例形式分析了replace into 与 insert into on duplicate key update的功能、基本用法与操作注意事项,需要的朋友可以...

    完美解决Thinkphp3.2中插入相同数据的问题

    在之前面对这样的问题的时候,我们知道,MySQL提供了ON DUPLICATE KEY UPDATE或者REPLACE INTO来解决。 使用ON DUPLICATE KEY UPDATE 插入数据之前,表中就一条记录,如下图 SQL语句如下,当插入记录时候,与表中...

    mysql如果数据不存在,则插入新数据,否则更新的实现方法

    下面我们将介绍其中的两种常见方法:replace Into 和 insert into … on duplicate key update。 1. Replace Into Replace Into 语句可以实现数据不存在则插入新数据,否则更新的功能。其基本语法为: ```sql ...

    关于避免MySQL替换逻辑SQL的坑爹操作详解

    replace into和insert into on duplicate key 区别 replace的用法 当不冲突时相当于insert,其余列默认值 当key冲突时,自增列更新,replace冲突列,其余列默认值 Com_replace会加1 Innodb_rows_updated会加1 ...

    MySql三种避免重复插入数据的方法

    insert on duplicate key update insert ignore insert ignore 会忽视数据库中已经存在的数据,根据主键或者唯一索引判断,如果数据库没有数据,就会插入新的数据,如果有数据的话就跳过这条数据 小case 表结构 ...

    防止mysql重复插入记录的方法

    防止mysql重复插入记录的方法有很多种,常用的是ignore,Replace,ON DUPLICATE KEY UPDATE,当然我们也可以在php中加以判断了。 方案一:使用ignore关键字 如果是用主键primary或者唯一索引unique区分了记录的唯一性,...

    simple-tags

    1. Unzip "Simple tags" archive and put all files into a folder like "/wp-content/plugins/simple-tags/" 2. Activate the plugin through the 'Plugins' menu in WordPress 3. Inside the Wordpress admin, go ...

Global site tag (gtag.js) - Google Analytics