设为首页 加入收藏

TOP

mysql面试题:mysql如何实现插入时如果不存在则插入如果存在则更新的操作?
2014-09-29 04:00:02 来源: 作者: 【 】 浏览:41
Tags:mysql 试题 如何 实现 入时 如果 存在 插入 更新 操作

在Oracle中有merge into来实现记录已存在就更新的操作,mysql没有merge into语法,但是有replace into的写法,同样实现记录已存在就更新的操作。
SQL Server中的实现方法是:


if not exists (select 1 from t where id = 1)
insert into t(id, update_time) values(1, getdate())
else
update t set update_time = getdate() where id = 1


MySQL replace into 有三种形式:


1. replace into tbl_name(col_name, …) values(…)
2. replace into tbl_name(col_name, …) select …
3. replace into tbl_name set col_name=value, …
其中 “into” 关键字可以省略,不过最好加上 “into”,这样意思更加直观。另外,对于那些没有给予值的列,MySQL 将自动为这些列赋上默认值。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇介绍一下oracle的优化器 下一篇mysql笔试题 权限相关

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: