Maison > base de données > tutoriel mysql > Comment puis-je trouver des lacunes dans une séquence d'incrémentation automatique MySQL ?

Comment puis-je trouver des lacunes dans une séquence d'incrémentation automatique MySQL ?

Susan Sarandon
Libérer: 2025-01-12 06:10:45
original
332 Les gens l'ont consulté

How Can I Find Gaps in a MySQL Auto-Increment Sequence?

Détection des nombres manquants dans les colonnes à incrémentation automatique MySQL

De nombreuses tables MySQL utilisent des colonnes à incrémentation automatique pour garantir une identification unique. Cependant, la suppression de données ou d'autres opérations peuvent laisser des lacunes dans la numérotation séquentielle. Cette requête identifie efficacement ces écarts dans une plage définie :

SELECT (t1.id + 1) AS gap_starts_at,
       (SELECT MIN(t3.id) - 1 FROM arrc_vouchers t3 WHERE t3.id > t1.id) AS gap_ends_at
FROM arrc_vouchers t1
WHERE NOT EXISTS (SELECT t2.id FROM arrc_vouchers t2 WHERE t2.id = t1.id + 1)
HAVING gap_ends_at IS NOT NULL;
Copier après la connexion

Le résultat de la requête se compose de :

  • gap_starts_at : Indique le point de départ d'une séquence de nombres manquante.
  • gap_ends_at : Affiche le point final de la séquence manquante.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal