首頁 > 資料庫 > mysql教程 > 如何找到 MySQL 表中遺失的順序 ID?

如何找到 MySQL 表中遺失的順序 ID?

DDD
發布: 2024-11-30 08:21:11
原創
1046 人瀏覽過

How to Find Missing Sequential IDs in a MySQL Table?

找出MySQL 表中遺失的ID

在關聯式資料庫表中,確保資料完整性至關重要,包括維護唯一且連續的ID。然而,ID 序列中的間隙可能由於缺失或插入而出現。本文解決了從 MySQL 表中檢索遺失 ID 的挑戰,並提供了解決此問題的詳細查詢。

問題陳述

考慮以下 MySQL 表:

如您所見,缺少 ID 號碼(2、3 和 5)。任務是建立一個僅傳回缺失 ID 的查詢,在本例中為「2,3,5」。

解決方案

以下查詢檢索失踪者ID:

說明

  • 查詢為測試表建立兩個別名,a 和b。
  • 它計算透過從b的最小ID中減去a的ID來丟失範圍(在確保a.id小於之後)
  • GROUP BY a.id 根據a.id 對結果進行分類,代表缺失範圍的開始。
  • HAVING start

附加閱讀

  • [辨識序列間隙MySQL](https://web.archive.org/web/20220706195255/http://www.codediesel.com/mysql/sequence-gaps-in-mysql/)

以上是如何找到 MySQL 表中遺失的順序 ID?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板