首页
技术知识库
Task工作计划
网站简介
DON框架
后台管理
文章分类
JAVA
框架知识
操作系统
容器相关
数据库层
优化技术
界面编程
网络编程
开发工具
GO语言
其他
读书随笔
观影随笔
每日随笔
APP
Mysql中插入或更新的语句[mysql]
所属分类
:[数据库层] |
创建时间
:2013-05-21 |
文章属性
:原创 |
文章来源
: |
作者
:windfly
<pre> INSERT ... ON DUPLICATE KEY UPDATE语句。 INSERT ... ON DUPLICATE KEY UPDATE的作用:插入数据时,如果插入的数据中对应的主键或唯一索引的值在表中已存在,则将此条数据对应的字段值修改。如果不存在则直接插入。 INSERT ... ON DUPLICATE KEY UPDATE的用法: insert into test2 select * from test1 on duplicate key update a = 'REMOVE-ME'; 这样使用后,你只需一行sql语句就能达到刚才的要求。 同时我还找到另一个语法:Replace Replace的作用:插入数据时,如果插入的数据中对应的主键或唯一索引的值在表中已存在,则先讲表中的值删除,然后在插入。如果不存在则直接插入 Replace的用法: REPLACE [LOW_PRIORITY | DELAYED] [INTO] tbl_name [(col_name,...)] {VALUES | VALUE} ({expr | DEFAULT},...),(...),... or: REPLACE [LOW_PRIORITY | DELAYED][INTO] tbl_name SET col_name={expr | DEFAULT}, ... Or: REPLACE [LOW_PRIORITY | DELAYED] [INTO] tbl_name [(col_name,...)]SELECT ... Example: REPLACE INTO table_name SELECT * FROM table_name; 此语句可以用来做表数据间的复制或其他适合的操作。</pre>
返回