最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

Mysql自增主鍵id不是以此逐級遞增

一、介紹

在mysql數據庫添加數據時使用ON DUPLICATE KEY UPDATE進行數據更新時可能會出現id不是逐級以此遞增的,而是間斷遞增。

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

如圖所示

二、問題介紹

在對于同一個表進行新增和修改時我用了兩個mapper接口方法,也就是說使用了兩次ON DUPLICATE KEY UPDATE操作,這樣就會導致該表主鍵在你更新的時候就進行自增了。等到下次insert時就會出現不是逐級遞增了。

三、解決方法

將數據庫的insert和update進行拆分。

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

自增主鍵

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

(1)數據庫自動編號,速度快,而且是增量增長,按順序存放,對于檢索非常有利;

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

(3)如果通過非系統(tǒng)增加記錄時,可以不用指定該字段,不用擔心主鍵重復問題。

其實它的缺點也就是來自其優(yōu)點,缺點如下:

(1)因為自動增長,在手動要插入指定ID的記錄時會顯得麻煩,尤其是當系統(tǒng)與其它系統(tǒng)集成時,需要數據導入時,很難保證原系統(tǒng)的ID不發(fā)生主鍵沖突(前提是老系統(tǒng)也是數字型的)。特別是在新系統(tǒng)上線時,新舊系統(tǒng)并行存在,并且是異庫異構的數據庫的情況下,需要雙向同步時,自增主鍵將是你的噩夢;

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

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

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

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

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

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

    MySQL?字符串轉換為數字的方法小結

    這篇文章主要介紹了MySQL字符串轉換為數字的幾種方法,本文給大家列列舉了三種方法,每種方法通過實例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2022-01-01
  • Windows實現通過cmd命令行啟動mysql

    Windows實現通過cmd命令行啟動mysql

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

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

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

    Mysql 報Row size too large 65535 的原因及解決方法

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

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

    下面小編就為大家?guī)硪黄仙U凪YSQL模式匹配 REGEXP和like的用法。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • MySQL數據庫聚合函數與分組查詢舉例詳解

    MySQL數據庫聚合函數與分組查詢舉例詳解

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

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

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

    Centos5.5中安裝Mysql5.5過程分享

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

    mysql 5.7.9 winx64在windows上安裝遇到的問題

    mysql5.7.9版本以上在windwos上安裝時會遇到無法啟動但是沒有任何報錯的問題,怎么回事呢?接下來通過本文給大家介紹mysql 5.7.9 winx64在windows上安裝遇到的問題及解決方法,需要的朋友可以參考下
    2016-10-10

最新評論

都江堰市| 五峰| 泗洪县| 望奎县| 简阳市| 潼南县| 黄陵县| 新乡县| 巴彦淖尔市| 雷波县| 眉山市| 衡山县| 双桥区| 沙坪坝区| 台南市| 洛隆县| 南投市| 宣恩县| 霞浦县| 盖州市| 呼图壁县| 普洱| 武陟县| 沐川县| 阜阳市| 昭平县| 徐州市| 东乡族自治县| 武宁县| 宜君县| 安阳市| 泸水县| 来宾市| 芜湖县| 宜都市| 大冶市| 襄垣县| 焉耆| 横峰县| 登封市| 信阳市|