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 t(id, update_time) values(1, now()); #或 replace into t(id, update_time) select 1, now();
本质:
replace into 插入数据到表时, 1. 如果发现表中已经有此行数据(根据主键或者唯一索引判断)则先删除此行数据,然后插入新的数据。 2. 否则,直接插入新数据。
注意:表必须有主键或唯一索引,否则会导致出现重复数据。
推荐:
http://blog.csdn.net/aidenliu/article/details/5628455
http://www.cnblogs.com/monian/archive/2014/10/09/4013784.html