婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Mysql自增主鍵id不是以此逐級遞增的處理

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

熱門標簽:話務外呼系統怎么樣 大眾點評星級酒店地圖標注 400電話可以辦理嗎 智能外呼系統復位 臨清電話機器人 拉卡拉外呼系統 高清地圖標注道路 外東北地圖標注 云南電商智能外呼系統價格

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

一、介紹

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

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

如圖所示

二、問題介紹

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

三、解決方法

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

自增主鍵的優缺點

自增主鍵

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

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

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

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

其實它的缺點也就是來自其優點,缺點如下:

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

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

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

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

您可能感興趣的文章:
  • MySQL中的主鍵以及設置其自增的用法教程
  • mysql修改自增長主鍵int類型為char類型示例
  • MySQL的自增ID(主鍵) 用完了的解決方法
  • 淺談MySQL中的自增主鍵用完了怎么辦
  • MySQL8新特性:自增主鍵的持久化詳解
  • mysql非主鍵自增長用法實例分析
  • 詳解MySQL自增主鍵的實現
  • 為什么mysql自增主鍵不是連續的

標簽:福州 三明 無錫 揚州 溫州 阿里 山西 定西

巨人網絡通訊聲明:本文標題《Mysql自增主鍵id不是以此逐級遞增的處理》,本文關鍵詞  Mysql,自增,主鍵,不是,以此,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Mysql自增主鍵id不是以此逐級遞增的處理》相關的同類信息!
  • 本頁收集關于Mysql自增主鍵id不是以此逐級遞增的處理的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 交口县| 措勤县| 湄潭县| 敦化市| 邢台县| 白城市| 临汾市| 涿鹿县| 桐柏县| 华池县| 陈巴尔虎旗| 项城市| 普格县| 咸宁市| 宝丰县| 黄浦区| 福泉市| 黑山县| 通渭县| 海伦市| 闸北区| 平潭县| 霍林郭勒市| 洛宁县| 沅陵县| 曲周县| 辽源市| 平阴县| 昭平县| 平罗县| 普格县| 武鸣县| 犍为县| 章丘市| 桦甸市| 贞丰县| 阜新市| 潼关县| 福海县| 贵阳市| 兴隆县|