亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > MySQL > 正文

關于避免MySQL替換邏輯SQL的坑爹操作詳解

2024-07-25 19:08:09
字體:
來源:轉載
供稿:網友

replace into和insert into on duplicate key 區別

replace的用法

當不沖突時相當于insert,其余列默認值
當key沖突時,自增列更新,replace沖突列,其余列默認值
Com_replace會加1
Innodb_rows_updated會加1

Insert into …on duplicate key的用法

不沖突時相當于insert,其余列默認值
當與key沖突時,只update相應字段值。
Com_insert會加1
Innodb_rows_inserted會增加1

實驗展示

表結構

sql;">create table helei1(id int(10) unsigned NOT NULL AUTO_INCREMENT,name varchar(20) NOT NULL DEFAULT '',age tinyint(3) unsigned NOT NULL default 0,PRIMARY KEY(id),UNIQUE KEY uk_name (name))ENGINE=innodb AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

表數據

root@127.0.0.1 (helei)> select * from helei1;+----+-----------+-----+| id | name | age |+----+-----------+-----+| 1 | 賀磊 | 26 || 2 | 小明 | 28 || 3 | 小紅 | 26 |+----+-----------+-----+3 rows in set (0.00 sec)

replace into用法

root@127.0.0.1 (helei)> replace into helei1 (name) values('賀磊');Query OK, 2 rows affected (0.00 sec)root@127.0.0.1 (helei)> select * from helei1;+----+-----------+-----+| id | name | age |+----+-----------+-----+| 2 | 小明 | 28 || 3 | 小紅 | 26 || 4 | 賀磊 | 0 |+----+-----------+-----+3 rows in set (0.00 sec)root@127.0.0.1 (helei)> replace into helei1 (name) values('愛璇');Query OK, 1 row affected (0.00 sec)root@127.0.0.1 (helei)> select * from helei1;+----+-----------+-----+| id | name | age |+----+-----------+-----+| 2 | 小明 | 28 || 3 | 小紅 | 26 || 4 | 賀磊 | 0 || 5 | 愛璇 | 0 |+----+-----------+-----+4 rows in set (0.00 sec)

replace的用法

當沒有key沖突時,replace into 相當于insert,其余列默認值

當key沖突時,自增列更新,replace沖突列,其余列默認值

Insert into …on duplicate key:

root@127.0.0.1 (helei)> select * from helei1;+----+-----------+-----+| id | name | age |+----+-----------+-----+| 2 | 小明 | 28 || 3 | 小紅 | 26 || 4 | 賀磊 | 0 || 5 | 愛璇 | 0 |+----+-----------+-----+4 rows in set (0.00 sec)root@127.0.0.1 (helei)> insert into helei1 (name,age) values('賀磊',0) on duplicate key update age=100;Query OK, 2 rows affected (0.00 sec)root@127.0.0.1 (helei)> select * from helei1;+----+-----------+-----+| id | name | age |+----+-----------+-----+| 2 | 小明 | 28 || 3 | 小紅 | 26 || 4 | 賀磊 | 100 || 5 | 愛璇 | 0 |+----+-----------+-----+4 rows in set (0.00 sec)root@127.0.0.1 (helei)> select * from helei1;+----+-----------+-----+| id | name | age |+----+-----------+-----+| 2 | 小明 | 28 || 3 | 小紅 | 26 || 4 | 賀磊 | 100 || 5 | 愛璇 | 0 |+----+-----------+-----+4 rows in set (0.00 sec)root@127.0.0.1 (helei)> insert into helei1 (name) values('愛璇') on duplicate key update age=120;Query OK, 2 rows affected (0.01 sec)root@127.0.0.1 (helei)> select * from helei1;+----+-----------+-----+| id | name | age |+----+-----------+-----+| 2 | 小明 | 28 || 3 | 小紅 | 26 || 4 | 賀磊 | 100 || 5 | 愛璇 | 120 |+----+-----------+-----+4 rows in set (0.00 sec)root@127.0.0.1 (helei)> insert into helei1 (name) values('不存在') on duplicate key update age=80;Query OK, 1 row affected (0.00 sec)root@127.0.0.1 (helei)> select * from helei1;+----+-----------+-----+| id | name | age |+----+-----------+-----+| 2 | 小明 | 28 || 3 | 小紅 | 26 || 4 | 賀磊 | 100 || 5 | 愛璇 | 120 || 8 | 不存在 | 0 |+----+-----------+-----+5 rows in set (0.00 sec)

總結

replace into這種用法,相當于如果發現沖突鍵,先做一個delete操作,再做一個insert 操作,未指定的列使用默認值,這種情況會導致自增主鍵產生變化,如果表中存在外鍵或者業務邏輯上依賴主鍵,那么會出現異常。因此建議使用Insert into …on duplicate key。由于編寫時間也很倉促,文中難免會出現一些錯誤或者不準確的地方,不妥之處懇請讀者批評指正。

好了,以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對VeVb武林網的支持。


注:相關教程知識閱讀請移步到MYSQL教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产成人精品免费久久久久| 6080yy精品一区二区三区| 日韩欧美国产骚| 亚洲日韩中文字幕在线播放| 97久久国产精品| 亚洲欧美变态国产另类| 亚洲欧美精品中文字幕在线| 国产精品青草久久久久福利99| 久久影视电视剧凤归四时歌| 国产综合福利在线| 亚洲网在线观看| 国产精品人成电影在线观看| 亚洲性夜色噜噜噜7777| 亚洲美女喷白浆| 免费av一区二区| 色偷偷亚洲男人天堂| 国产精品永久免费视频| 91chinesevideo永久地址| 亚洲美女av黄| 高跟丝袜欧美一区| 69久久夜色精品国产7777| 日本一区二区在线播放| 91av在线免费观看| 日韩av快播网址| 中文字幕一精品亚洲无线一区| 国产亚洲一区二区在线| 国产精品网站入口| 中文字幕日韩在线视频| xxav国产精品美女主播| 国产亚洲精品久久久久动| 欧美一级大片在线观看| 久久全国免费视频| 91久久久久久久久久久久久| 国产精品wwwwww| 国产精品一区二区三区久久| 色狠狠久久aa北条麻妃| 成人乱色短篇合集| 国产一区二区三区在线| 亚洲亚裔videos黑人hd| 亚洲精品中文字幕有码专区| 日韩在线观看免费网站| 午夜精品久久久久久久久久久久| 91av在线播放视频| 色偷偷噜噜噜亚洲男人| 97av在线视频| 中文字幕一区二区精品| 日韩免费中文字幕| 久久亚洲精品国产亚洲老地址| 亚洲视屏在线播放| 国产精品天天狠天天看| 欧洲亚洲妇女av| 日韩精品久久久久久福利| www高清在线视频日韩欧美| 亚洲国产日韩精品在线| 97久久国产精品| 这里只有精品视频| 亚洲黄色片网站| 懂色aⅴ精品一区二区三区蜜月| 欧美午夜女人视频在线| 久久成年人免费电影| 国产精品成熟老女人| 国产精品久久久久福利| www.99久久热国产日韩欧美.com| 日韩欧美精品免费在线| 欧美劲爆第一页| 欧美日韩一区二区在线播放| 91精品视频免费看| 国产精品99久久久久久久久| 久久久精品中文字幕| 午夜精品久久久99热福利| 精品久久久视频| 欧美精品免费在线| 亚洲免费视频在线观看| 国产精品旅馆在线| 97色在线视频观看| 亚洲新中文字幕| 欧美日本亚洲视频| 国产精品主播视频| 国产精品久久久久久久一区探花| 久久久久久国产精品美女| 热门国产精品亚洲第一区在线| 国产成人福利视频| 九九热r在线视频精品| 午夜剧场成人观在线视频免费观看| 性欧美长视频免费观看不卡| 亚洲天堂成人在线视频| 国产精品久久久久久av福利| 欧美激情精品久久久久久久变态| 欧美激情视频给我| 日韩国产高清污视频在线观看| 欧美午夜精品久久久久久人妖| 亚洲欧美综合v| 精品久久久久久久久久久久久| 国产成人免费av| 欧美电影《睫毛膏》| 欧美性猛交xxxx| 国产亚洲欧洲高清一区| 亚洲欧美综合精品久久成人| 国产精品日韩在线播放| 黑人欧美xxxx| 亚洲高清在线观看| 欧美一级高清免费| 欧美中在线观看| 日韩经典第一页| 国产精品美女av| 国产精品高潮粉嫩av| x99av成人免费| 欧美日韩亚洲视频一区| 国产精品久久国产精品99gif| 日韩美女视频在线观看| 亚洲xxx大片| 这里精品视频免费| 在线播放日韩av| 日韩高清免费观看| 精品久久久久久中文字幕大豆网| 精品福利在线观看| 中文字幕日韩精品有码视频| 4438全国亚洲精品在线观看视频| 日韩免费看的电影电视剧大全| 最新69国产成人精品视频免费| 国产精品美女免费视频| 欧美高清在线播放| 亚洲第一综合天堂另类专| 性亚洲最疯狂xxxx高清| 91精品国产91久久久久久吃药| 欧美日韩一区二区三区在线免费观看| 亚洲精品国精品久久99热| 久久亚洲精品毛片| 欧美成人免费观看| 国产亚洲视频在线观看| 欧美在线免费观看| 国产一区私人高清影院| 91精品久久久久久久久久另类| 国产精品91免费在线| 精品国产一区av| 亚洲影院在线看| 亚洲欧美一区二区精品久久久| 日韩中文字幕在线免费观看| 久久久国产一区二区| 中文字幕亚洲图片| 亚洲人永久免费| 色青青草原桃花久久综合| 综合国产在线视频| 成人国产精品日本在线| 亚洲欧美日韩国产中文专区| 中文字幕自拍vr一区二区三区| 欧美性xxxx在线播放| 国产精品久久久久久久久久久久久| 亚洲开心激情网| 日韩精品一区二区三区第95| 懂色av影视一区二区三区| 国内精品国产三级国产在线专| 91久久久在线| 日本欧美一级片| 高清在线视频日韩欧美| 国产综合在线看| 久久久视频免费观看| 神马国产精品影院av| 欧美性猛交丰臀xxxxx网站| 久久久久久久成人| 日韩在线欧美在线国产在线| 国产精品99导航| 国产精品久久久91| 欧美国产日韩视频|