Services webmasters
Partenaires
Jeux concours gratuits
 
Calculer les visites par jour
<<<
Utiliser AUTO_INCREMENT Tutoriels d'introduction
>>>

3.5 Exemples de requêtes usuelles
3 Tutoriels d'introduction
 Manuel de Référence MySQL 4.1 : Version Française

La valeur maximale d'une colonne
La ligne contenant le maximum d'une certaine colonne
Maximum d'une colonne par groupe
La ligne contenant la plus grande valeur d'un certain champ par rapport à un groupe
Utiliser les variables utilisateur
Utiliser les clefs étrangères
Recherche sur deux clefs
Calculer les visites par jour
->Utiliser AUTO_INCREMENT

3.5.9 Utiliser AUTO_INCREMENT

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");
SELECT * FROM animals;

Qui retourne :

+----+---------+
| id | name    |
+----+---------+
|  1 | dog     |
|  2 | cat     |
|  3 | penguin |
|  4 | lax     |
|  5 | whale   |
+----+---------+
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-incrementé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");
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 |
+--------+----+---------+
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.

<< Utiliser AUTO_INCREMENT >>
Calculer les visites par jour Exemples de requêtes usuelles Tutoriels d'introduction
Services webmasters
Les manuels
 
CoursPHP.com - Reproduction interdite -