亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Mysql自增主鍵id不是以此逐級(jí)遞增的處理

 更新時(shí)間:2021年07月12日 08:50:20   作者:CoderYin  
這篇文章主要介紹了Mysql自增主鍵id不是以此逐級(jí)遞增的處理方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

Mysql自增主鍵id不是以此逐級(jí)遞增

一、介紹

在mysql數(shù)據(jù)庫(kù)添加數(shù)據(jù)時(shí)使用ON DUPLICATE KEY UPDATE進(jìn)行數(shù)據(jù)更新時(shí)可能會(huì)出現(xiàn)id不是逐級(jí)以此遞增的,而是間斷遞增。

如id從10下次添加可能就是15或者其他的數(shù)字,兩個(gè)數(shù)字之間間隔是ON DUPLICATE KEY UPDATE執(zhí)行的次數(shù),也就是說(shuō)ON DUPLICATE KEY UPDATE在執(zhí)行更新的時(shí)候把該表主鍵進(jìn)行自增加一。

如圖所示

二、問(wèn)題介紹

在對(duì)于同一個(gè)表進(jìn)行新增和修改時(shí)我用了兩個(gè)mapper接口方法,也就是說(shuō)使用了兩次ON DUPLICATE KEY UPDATE操作,這樣就會(huì)導(dǎo)致該表主鍵在你更新的時(shí)候就進(jìn)行自增了。等到下次insert時(shí)就會(huì)出現(xiàn)不是逐級(jí)遞增了。

三、解決方法

將數(shù)據(jù)庫(kù)的insert和update進(jìn)行拆分。

自增主鍵的優(yōu)缺點(diǎn)

自增主鍵

這種方式是使用數(shù)據(jù)庫(kù)提供的自增數(shù)值型字段作為自增主鍵,它的優(yōu)點(diǎn)是:

(1)數(shù)據(jù)庫(kù)自動(dòng)編號(hào),速度快,而且是增量增長(zhǎng),按順序存放,對(duì)于檢索非常有利;

(2)數(shù)字型,占用空間小,易排序,在程序中傳遞也方便;

(3)如果通過(guò)非系統(tǒng)增加記錄時(shí),可以不用指定該字段,不用擔(dān)心主鍵重復(fù)問(wèn)題。

其實(shí)它的缺點(diǎn)也就是來(lái)自其優(yōu)點(diǎn),缺點(diǎn)如下:

(1)因?yàn)樽詣?dòng)增長(zhǎng),在手動(dòng)要插入指定ID的記錄時(shí)會(huì)顯得麻煩,尤其是當(dāng)系統(tǒng)與其它系統(tǒng)集成時(shí),需要數(shù)據(jù)導(dǎo)入時(shí),很難保證原系統(tǒng)的ID不發(fā)生主鍵沖突(前提是老系統(tǒng)也是數(shù)字型的)。特別是在新系統(tǒng)上線時(shí),新舊系統(tǒng)并行存在,并且是異庫(kù)異構(gòu)的數(shù)據(jù)庫(kù)的情況下,需要雙向同步時(shí),自增主鍵將是你的噩夢(mèng);

(2)在系統(tǒng)集成或割接時(shí),如果新舊系統(tǒng)主鍵不同是數(shù)字型就會(huì)導(dǎo)致修改主鍵數(shù)據(jù)類型,這也會(huì)導(dǎo)致其它有外鍵關(guān)聯(lián)的表的修改,后果同樣很嚴(yán)重;

(3)若系統(tǒng)也是數(shù)字型的,在導(dǎo)入時(shí),為了區(qū)分新老數(shù)據(jù),可能想在老數(shù)據(jù)主鍵前統(tǒng)一加一個(gè)字符標(biāo)識(shí)(例如“o”,old)來(lái)表示這是老數(shù)據(jù),那么自動(dòng)增長(zhǎng)的數(shù)字型又面臨一個(gè)挑戰(zhàn)。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Linux中部署MySQL環(huán)境的四種方式圖文詳解

    Linux中部署MySQL環(huán)境的四種方式圖文詳解

    這篇文章主要介紹了Linux中部署MySQL環(huán)境的四種方式,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2023-11-11
  • MySQL?字符串轉(zhuǎn)換為數(shù)字的方法小結(jié)

    MySQL?字符串轉(zhuǎn)換為數(shù)字的方法小結(jié)

    這篇文章主要介紹了MySQL字符串轉(zhuǎn)換為數(shù)字的幾種方法,本文給大家列列舉了三種方法,每種方法通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-01-01
  • Windows實(shí)現(xiàn)通過(guò)cmd命令行啟動(dòng)mysql

    Windows實(shí)現(xiàn)通過(guò)cmd命令行啟動(dòng)mysql

    介紹了通過(guò)Windows命令行啟動(dòng)MySQL的詳細(xì)步驟,包括普通啟動(dòng)和使用管理員權(quán)限的方法,以及如何登錄和查詢數(shù)據(jù),主要步驟包括修改環(huán)境變量、使用net start命令、確保以管理員身份運(yùn)行CMD,以及使用MySQL命令行工具進(jìn)行數(shù)據(jù)庫(kù)操作
    2024-10-10
  • MySQL分表和分區(qū)分表的區(qū)別小結(jié)

    MySQL分表和分區(qū)分表的區(qū)別小結(jié)

    MySQL分表和分區(qū)分表是兩種常見(jiàn)的數(shù)據(jù)分割方案,本文主要介紹了MySQL分表和分區(qū)分表的區(qū)別小結(jié),具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-07-07
  • Mysql 報(bào)Row size too large 65535 的原因及解決方法

    Mysql 報(bào)Row size too large 65535 的原因及解決方法

    這篇文章主要介紹了Mysql 報(bào)Row size too large 65535 的原因及解決方法 的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-06-06
  • 老生常談MYSQL模式匹配 REGEXP和like的用法

    老生常談MYSQL模式匹配 REGEXP和like的用法

    下面小編就為大家?guī)?lái)一篇老生常談MYSQL模式匹配 REGEXP和like的用法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-03-03
  • MySQL數(shù)據(jù)庫(kù)聚合函數(shù)與分組查詢舉例詳解

    MySQL數(shù)據(jù)庫(kù)聚合函數(shù)與分組查詢舉例詳解

    在MySQL中聚合函數(shù)和分組查詢經(jīng)常一起使用,下面這篇文章主要給大家介紹了關(guān)于MySQL數(shù)據(jù)庫(kù)聚合函數(shù)與分組查詢的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-01-01
  • mysql觸發(fā)器同步表的數(shù)據(jù)方式

    mysql觸發(fā)器同步表的數(shù)據(jù)方式

    這篇文章主要介紹了mysql觸發(fā)器同步表的數(shù)據(jù)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • Centos5.5中安裝Mysql5.5過(guò)程分享

    Centos5.5中安裝Mysql5.5過(guò)程分享

    這篇文章主要介紹了Centos5.5中安裝Mysql5.5過(guò)程分享,本文使用編譯方法安裝MySQL,并給出了一些可能遇到的錯(cuò)誤和解決方法,需要的朋友可以參考下
    2015-01-01
  • mysql 5.7.9 winx64在windows上安裝遇到的問(wèn)題

    mysql 5.7.9 winx64在windows上安裝遇到的問(wèn)題

    mysql5.7.9版本以上在windwos上安裝時(shí)會(huì)遇到無(wú)法啟動(dòng)但是沒(méi)有任何報(bào)錯(cuò)的問(wèn)題,怎么回事呢?接下來(lái)通過(guò)本文給大家介紹mysql 5.7.9 winx64在windows上安裝遇到的問(wèn)題及解決方法,需要的朋友可以參考下
    2016-10-10

最新評(píng)論