日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
詳解MYSQL中無重復(fù)插入數(shù)據(jù)更新語法

更新操作是使用數(shù)據(jù)庫最常見的操作之一,下面將為您詳細介紹MYSQL中無重復(fù)插入數(shù)據(jù)更新語法,供您參考,希望對您學(xué)習(xí)數(shù)據(jù)更新能有所幫助。

創(chuàng)新互聯(lián)成立10多年來,這條路我們正越走越好,積累了技術(shù)與客戶資源,形成了良好的口碑。為客戶提供成都網(wǎng)站設(shè)計、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站策劃、網(wǎng)頁設(shè)計、空間域名、網(wǎng)絡(luò)營銷、VI設(shè)計、網(wǎng)站改版、漏洞修補等服務(wù)。網(wǎng)站是否美觀、功能強大、用戶體驗好、性價比高、打開快等等,這些對于網(wǎng)站建設(shè)都非常重要,創(chuàng)新互聯(lián)通過對建站技術(shù)性的掌握、對創(chuàng)意設(shè)計的研究為客戶提供一站式互聯(lián)網(wǎng)解決方案,攜手廣大客戶,共同發(fā)展進步。

如果你指定了ON DUPLICATE KEY UPDATE命令語句,那么在***索引或者主索引的作用下將不插入與數(shù)據(jù)庫記錄重復(fù)的內(nèi)容,但同時會更新數(shù)據(jù)庫中的舊記錄。例如,字段a被聲明為***索引并且里面只包含有值為1的記錄,以下兩個語句會達到同樣的效果:

一、INSERT INTO table (a,b,c) VALUES (1,2,3)
   ON DUPLICATE KEY UPDATE c=c+1;

二、UPDATE table SET c=c+1 WHERE a=1;

受影響的是a=1的行,當(dāng)插入時c的值加1。
如果字段b也是***的話,這個插入語句將和以下語句的效果一樣:
UPDATE table SET c=c+1 WHERE a=1 OR b=2 LIMIT 1;
如果a=1 OR b=2匹配了不止一行,也只是***行被更新。一般地,如果表中有多個***索引的話,你應(yīng)該避免在使用用ON DUPLICATE KEY子句。
你可以在插入更新語句 INSERT ... UPDATE 中使用 VALUES(字段名) 函數(shù)去關(guān)聯(lián)某一行記錄。也就是說, VALUES(字段名) 可以用在UPDATE語句中去更新某字段的值而不會出現(xiàn)重復(fù)鍵。這個函數(shù)在多行插入中尤其有用。但是函數(shù) VALUES() 僅當(dāng)用在 INSERT ... UPDATE 語句中才有意義,否則會返回NULL。例如:

INSERT INTO table (a,b,c) VALUES (1,2,3),(4,5,6)
ON DUPLICATE KEY UPDATE c=VALUES(a)+VALUES(b);
這個語句和下面兩個是同效果的:

INSERT INTO table (a,b,c) VALUES (1,2,3)
ON DUPLICATE KEY UPDATE c=3;
INSERT INTO table (a,b,c) VALUES (4,5,6)
ON DUPLICATE KEY UPDATE c=9;
如果表中包含有一個自動遞增字段AUTO_INCREMENT,并用 INSERT ... UPDATE 插入一行,函數(shù) LAST_INSERT_ID()會返回AUTO_INCREMENT的值,如果這個語句更新某一行, LAST_INSERT_ID() 就沒有意義了。但是,你可以通過用 LAST_INSERT_ID(expr)使它變得有意義,假如id字段是自動遞增欄的話,使 LAST_INSERT_ID() 對更新語句有意義的方法如下:

INSERT INTO table (a,b,c) VALUES (1,2,3)
ON DUPLICATE KEY UPDATE id=LAST_INSERT_ID(id), c=3;
如果你使用 ON DUPLICATE KEY UPDATE 語句的話,延遲執(zhí)行選項 DELAYED 將被忽略。

【編輯推薦】

SQL中兩個關(guān)聯(lián)表批量更新數(shù)據(jù)的方法

數(shù)據(jù)更新監(jiān)控CDC介紹

SQL函數(shù)取得系統(tǒng)日期

sql函數(shù)遍歷BOM表的方法

判斷閏年的SQL函數(shù)


當(dāng)前文章:詳解MYSQL中無重復(fù)插入數(shù)據(jù)更新語法
分享地址:http://www.5511xx.com/article/cdhsohg.html