女人被狂躁到高潮视频免费无遮挡,内射人妻骚骚骚,免费人成小说在线观看网站,九九影院午夜理论片少妇,免费av永久免费网址

當(dāng)前位置:首頁 > > 充電吧
[導(dǎo)讀]討人喜歡的 MySQL replace into 用法(insert into 的增強(qiáng)版)在向表中插入數(shù)據(jù)的時(shí)候,經(jīng)常遇到這樣的情況:1. 首先判斷數(shù)據(jù)是否存在; 2. 如果不存在,則插入;3.如果存

討人喜歡的 MySQL replace into 用法(insert into 的增強(qiáng)版)


在向表中插入數(shù)據(jù)的時(shí)候,經(jīng)常遇到這樣的情況:1. 首先判斷數(shù)據(jù)是否存在; 2. 如果不存在,則插入;3.如果存在,則更新。

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

replace?into?t(id,?update_time)?values(1,?now());

replace?into?t(id,?update_time)?select?1,?now();

replace into?跟 insert 功能類似,不同點(diǎn)在于:replace into?首先嘗試插入數(shù)據(jù)到表中, 1. 如果發(fā)現(xiàn)表中已經(jīng)有此行數(shù)據(jù)(根據(jù)主鍵或者唯一索引判斷)則先刪除此行數(shù)據(jù),然后插入新的數(shù)據(jù)。 2. 否則,直接插入新數(shù)據(jù)。

要注意的是:插入數(shù)據(jù)的表必須有主鍵或者是唯一索引!否則的話,replace into?會(huì)直接插入數(shù)據(jù),這將導(dǎo)致表中出現(xiàn)重復(fù)的數(shù)據(jù)。

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” 關(guān)鍵字可以省略,不過最好加上 “into”,這樣意思更加直觀。另外,對(duì)于那些沒有給予值的列,MySQL 將自動(dòng)為這些列賦上默認(rèn)值。


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

關(guān)于gorm框架的簡單運(yùn)用

關(guān)鍵字: gorm mysql

來源:https://juejin.cn/post/6860252224930070536|?背景日志是?mysql?數(shù)據(jù)庫的重要組成部分,記錄著數(shù)據(jù)庫運(yùn)行期間各種狀態(tài)信息。mysql日志主要包括錯(cuò)誤日志、查詢?nèi)罩尽⒙?..

關(guān)鍵字: mysql

mysql的一行記錄,最終肯定是存儲(chǔ)在磁盤上,也就是肉眼可見的文件上,今天我們的目標(biāo)很簡單,就是看看它到底是怎么存的。當(dāng)然還有一個(gè)更重要的目標(biāo),就是以這個(gè)為引子,帶大家完全通過一手資料,來揭秘這個(gè)問題的答案。所以大家閱讀...

關(guān)鍵字: mysql

跟著官方文檔 源碼 源文件三件套自己探索

關(guān)鍵字: mysql 存儲(chǔ)

什么Mysql的事務(wù)?事務(wù)的四大特性?事務(wù)帶來的什么問題?你詳細(xì)了解過MVCC嗎?它是怎么工作的?

關(guān)鍵字: mysql 嵌入式

想進(jìn)大廠,mysql不會(huì)那可不行,來接受mysql面試挑戰(zhàn)吧,看看你能堅(jiān)持到哪里?

關(guān)鍵字: mysql 嵌入式

最近,在開發(fā)一個(gè)分庫分表中間件,由于功能需求,需要分析MySQL協(xié)議,發(fā)現(xiàn)網(wǎng)上對(duì)于MySQL協(xié)議分析的文章大部分都過時(shí)了,原因是分析的MySQL版本太低了。怎么辦?于是乎,我便硬著頭皮開始啃MySQL源碼,經(jīng)過兩個(gè)多月的...

關(guān)鍵字: mysql 嵌入式

想進(jìn)大廠,Mysql不會(huì)那可不行,來接受Mysql面試挑戰(zhàn)吧,看看你能堅(jiān)持到哪里?

關(guān)鍵字: mysql 嵌入式

Explain被稱為執(zhí)行計(jì)劃,在語句之前增加explain關(guān)鍵字,MySQL會(huì)在查詢上設(shè)置一個(gè)標(biāo)記,模擬MySQL優(yōu)化器來執(zhí)行SQL語句,執(zhí)行查詢時(shí),會(huì)返回執(zhí)行計(jì)劃的信息,并不執(zhí)行這條SQL。

關(guān)鍵字: mysql 嵌入式

什么是事務(wù)?事務(wù)是應(yīng)用程序中一系列嚴(yán)密的操作,所有操作必須成功完成,否則在每個(gè)操作中所作的所有更改都會(huì)被撤消。也就是事務(wù)具有原子性,一個(gè)事務(wù)中的一系列的操作要么全部成功,要么一個(gè)都不做。

關(guān)鍵字: mysql 嵌入式
關(guān)閉