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

Mysql insert ... on duplicate key update 和replace into1.?INSERT ... ON DUPLICATE KEY UPDATEhtt

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。

?

?