Maison > base de données > tutoriel mysql > le corps du texte

Comment implémenter l'incrémentation automatique par groupe dans MySQL ?

Barbara Streisand
Libérer: 2024-10-27 20:41:30
original
484 Les gens l'ont consulté

How to Implement Auto-Increment by Group in MySQL?

Incrémentation automatique par groupe dans MySQL

MySQL fournit un moyen pratique d'incrémenter automatiquement une valeur de champ en fonction d'une colonne de regroupement. Ceci est particulièrement utile dans les scénarios où les enregistrements doivent être regroupés et numérotés au sein de chaque groupe.

Pour les tables MyISAM et BDB

Pour les tables MyISAM et BDB, incrémentation automatique peut être défini comme un élément clé secondaire. Par exemple, considérons la structure de table suivante :

CREATE TABLE foo (
   id          INT AUTO_INCREMENT NOT NULL,
   group_field INT NOT NULL,
   name        VARCHAR(128),

   PRIMARY KEY(group_field, id)
);
Copier après la connexion

Dans cette structure, le champ id est défini comme auto-incrémenté, mais il fait également partie de la clé primaire avec le group_field. D'après la documentation MySQL :

In this case, the generated value for
   the AUTO_INCREMENT column is
   calculated as
   MAX(auto_increment_column) + 1 WHERE
   prefix=given-prefix. This is useful
   when you want to put data into ordered
   groups.
Copier après la connexion

Exemple

À l'aide de la table foo créée ci-dessus, insérons quelques exemples de données :

INSERT INTO foo (group_field, name) VALUES (1, 'test'), (1, 'test2'), (2, 'test3'), (2, 'test4'), (3, 'test5'), (3, 'test6');
Copier après la connexion

Après avoir inséré les données, le contenu de la table foo ressemblera à :

+----+-----------+------+
| id | group_field | name |
+----+-----------+------+
| 1  |          1 | test |
| 2  |          1 | test2 |
| 3  |          2 | test3 |
| 4  |          2 | test4 |
| 5  |          3 | test5 |
| 6  |          3 | test6 |
+----+-----------+------+
Copier après la connexion

Comme vous pouvez le voir, la colonne id a été automatiquement incrémentée au sein de chaque groupe, en fonction de la valeur group_field.

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!

source:php.cn
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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!