国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

淺析MySQL replace into 的用法

2020-01-18 23:16:08
字體:
來源:轉載
供稿:網友

在 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 中如何實現這樣的邏輯呢?別著急!MySQL 中有更簡單的方法: replace into

復制代碼 代碼如下:
 
replace into t(id, update_time) values(1, now());
或 
replace into t(id, update_time) select 1, now();

replace into 跟 insert 功能類似,不同點在于:replace into 首先嘗試插入數據到表中, 1. 如果發現表中已經有此行數據(根據主鍵或者唯一索引判斷)則先刪除此行數據,然后插入新的數據。 2. 否則,直接插入新數據。 要注意的是:插入數據的表必須有主鍵或者是唯一索引!否則的話,replace into 會直接插入數據,這將導致表中出現重復的數據。

MySQL replace into 有三種形式:

復制代碼 代碼如下:

 replace into tbl_name(col_name, ...) values(...)
 replace into tbl_name(col_name, ...) select ...
 replace into tbl_name set col_name=value, ...

前兩種形式用的多些。其中 “into” 關鍵字可以省略,不過最好加上 “into”,這樣意思更加直觀。另外,對于那些沒有給予值的列,MySQL 將自動為這些列賦上默認值。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 西华县| 南华县| 满洲里市| 四子王旗| 朝阳市| 榆林市| 息烽县| 通榆县| 冀州市| 灵丘县| 克山县| 峡江县| 江阴市| 苍梧县| 通山县| 芒康县| 大悟县| 江城| 桐柏县| 正定县| 西充县| 高碑店市| 岳西县| 余庆县| 航空| 石嘴山市| 芷江| 桓仁| 凌云县| 宿州市| 夏河县| 鄂州市| 塔河县| 来凤县| 唐河县| 同德县| 松原市| 汝州市| 灵宝市| 澄迈县| 汝州市|