成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

詳解MYSQL中無重復插入數據更新語法

數據庫 MySQL
如果不希望插入的數據是重復的,應該如何操作呢?下面將為您詳細介紹MYSQL中無重復插入數據更新語法,供您參考,希望對您學習數據更新能有所幫助。

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

如果你指定了ON DUPLICATE KEY UPDATE命令語句,那么在***索引或者主索引的作用下將不插入與數據庫記錄重復的內容,但同時會更新數據庫中的舊記錄。例如,字段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的行,當插入時c的值加1。
如果字段b也是***的話,這個插入語句將和以下語句的效果一樣:
UPDATE table SET c=c+1 WHERE a=1 OR b=2 LIMIT 1;
如果a=1 OR b=2匹配了不止一行,也只是***行被更新。一般地,如果表中有多個***索引的話,你應該避免在使用用ON DUPLICATE KEY子句。
你可以在插入更新語句 INSERT ... UPDATE 中使用 VALUES(字段名) 函數去關聯某一行記錄。也就是說, VALUES(字段名) 可以用在UPDATE語句中去更新某字段的值而不會出現重復鍵。這個函數在多行插入中尤其有用。但是函數 VALUES() 僅當用在 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 插入一行,函數 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 語句的話,延遲執行選項 DELAYED 將被忽略。

 

 

 

【編輯推薦】

SQL中兩個關聯表批量更新數據的方法

數據更新監控CDC介紹

SQL函數取得系統日期

sql函數遍歷BOM表的方法

判斷閏年的SQL函數

 

責任編輯:段燃 來源: 互聯網
相關推薦

2021-04-08 10:55:53

MySQL數據庫代碼

2009-03-11 10:42:52

更新查詢MySQL

2010-05-20 09:01:22

MySQL數據庫

2022-08-19 12:12:02

TypeScriptInfer 類型

2021-10-15 10:26:28

鴻蒙HarmonyOS應用

2010-11-24 16:53:16

MySQL無重復查詢

2010-06-07 13:20:39

MySQL插入處理重復

2011-08-11 14:35:47

SQL Server插入更新

2010-03-29 10:45:48

HTML 5

2021-08-30 13:00:40

JS代碼前端

2021-09-14 13:15:43

MySQL數據庫腳本

2021-06-28 10:25:47

MySQL數據庫重復數據

2020-09-18 10:18:08

MySQL數據插入數據庫

2010-11-11 10:18:59

select into

2022-09-29 10:06:56

SQLMySQL服務端

2020-04-24 21:41:45

MySQL數據庫插入數據

2020-08-27 07:29:01

MySQL數據數據表

2019-09-20 10:00:33

SQLMySQL數據

2024-01-08 09:10:35

PostgreSQL數據庫管理系統

2020-07-02 08:22:56

MySQL間隙鎖過行鎖
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产在线观看不卡一区二区三区 | 日韩免费一级 | 欧美成年人 | 亚洲欧洲成人av每日更新 | 中文天堂在线一区 | 欧日韩不卡在线视频 | av黄色在线 | 久久久精品影院 | 欧美一区二区三区四区视频 | 99久久精品免费看国产免费软件 | 亚洲激情av| a级毛片国产| 久草中文在线观看 | 日韩久久久久久 | 国产区在线观看 | 中文字幕一区二区三区在线视频 | 精品亚洲一区二区 | 国久久 | 免费视频久久 | 亚洲精久 | 日日操天天射 | 欧美精品在线一区二区三区 | 自拍偷拍一区二区三区 | 成人综合视频在线 | 亚洲精品久久久久久久久久久久久 | 日韩成人 | 国产精品久久久久久模特 | 国产一级在线 | 欧美午夜一区二区三区免费大片 | 亚洲欧洲日韩 | 高清国产午夜精品久久久久久 | 精品国产18久久久久久二百 | 一区二区三区在线 | 一区二区三区免费网站 | 欧美中文字幕 | 国产婷婷精品av在线 | 天堂亚洲 | 欧美日本免费 | 中文字幕在线视频精品 | 夜夜艹| 国产成人在线视频播放 |