ホームページ >データベース >mysql チュートリアル >MySQL テーブルで欠落しているシーケンシャル ID を見つけるにはどうすればよいですか?
MySQL テーブルで欠落している ID を見つける
リレーショナル データベース テーブルでは、一意で連続した ID の維持など、データの整合性を確保することが重要です。ただし、欠失または挿入により ID シーケンスにギャップが発生する可能性があります。この記事では、MySQL テーブルから欠落している ID を取得するという課題に対処し、この問題を解決するための詳細なクエリを提供します。
問題の説明
次の MySQL テーブルについて考えてみましょう。
ID | Name 1 | Bob 4 | Adam 6 | Someguy
ご覧のとおり、ID 番号 (2、3、5) が欠落しています。タスクは、欠落している ID (この場合は「2,3,5」) のみを返すクエリを構築することです。
Solution
次のクエリは、行方不明のID:
SELECT a.id+1 AS start, MIN(b.id) - 1 AS end FROM testtable AS a, testtable AS b WHERE a.id < b.id GROUP BY a.id HAVING start < MIN(b.id)
説明
補足説明
以上がMySQL テーブルで欠落しているシーケンシャル ID を見つけるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。