Mysql "insert . on duplicate key update "跟"replace into"
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。