读书人

Mysql quot;insert . on duplicate key up

发布时间: 2012-07-16 15:44:59 作者: rapoo

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。

?

?

读书人网 >PowerDesigner

热点推荐