L'attribut AUTO_INCREMENT peut être utilisé
        pour générer un identifiant unique pour les nouvelles
        lignes :
      
CREATE TABLE animals (
             id MEDIUMINT NOT NULL AUTO_INCREMENT,
             name CHAR(30) NOT NULL,
             PRIMARY KEY (id)
             );
INSERT INTO animals (name) VALUES ("dog"),("cat"),("penguin"),
                                  ("lax"),("whale"),("ostrich");
SELECT * FROM animals;
Qui retourne :
+----+---------+ | id | name | +----+---------+ | 1 | dog | | 2 | cat | | 3 | penguin | | 4 | lax | | 5 | whale | | 6 | ostrich | +----+---------+
        Vous pouvez obtenir la valeur utilisée de la clef
        AUTO_INCREMENT avec la fonction SQL
        LAST_INSERT_ID() ou la fonction d'API
        mysql_insert_id().
      
        Note@ : Pour une insertion multi-lignes,
        LAST_INSERT_ID()/mysql_insert_id()
        retourneront la clef AUTO_INCREMENT de la
        première ligne insérée. Cela
        permet de reproduire les insertions multi-lignes sur d'autres
        services.
      
        Pour les tables MyISAM et
        BDB vous pouvez spécifier
        AUTO_INCREMENT sur une colonne secondaire
        d'une clef multi-colonnes. Dans ce cas, la valeur générée
        pour la colonne auto-incrémentée est calculée de la fa¸on
        suivante : MAX(auto_increment_column)+1) WHERE
        prefix=given-prefix. C'est utile lorsque vous voulez
        placer des données dans des groupes ordonnés.
      
CREATE TABLE animals (
             grp ENUM('fish','mammal','bird') NOT NULL,
             id MEDIUMINT NOT NULL AUTO_INCREMENT,
             name CHAR(30) NOT NULL,
             PRIMARY KEY (grp,id)
             );
INSERT INTO animals (grp,name) VALUES("mammal","dog"),("mammal","cat"),
                  ("bird","penguin"),("fish","lax"),("mammal","whale"),
                  ("bird","ostrich");
SELECT * FROM animals ORDER BY grp,id;
Qui retourne :
+--------+----+---------+ | grp | id | name | +--------+----+---------+ | fish | 1 | lax | | mammal | 1 | dog | | mammal | 2 | cat | | mammal | 3 | whale | | bird | 1 | penguin | | bird | 2 | ostrich | +--------+----+---------+
        Notez que dans ce cas, la valeur
        d'AUTO_INCREMENT sera réutilisée si vous
        effacez la ligne avec la plus grande valeur
        d'AUTO_INCREMENT tous groupes confondus. Cela
        n'arrive jamais avec les tables MyISAM, dont
        les valeurs AUTO_INCREMENT ne sont jamais
        réutilisées.
      
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.

