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。
?
?