bonjour
Est ce qu'on peut définir dans une même table d'une base de donnée plusieurs champs comme auto-incrémentés?
bonjour
Est ce qu'on peut définir dans une même table d'une base de donnée plusieurs champs comme auto-incrémentés?
Bonjour,
Bien sûr, mais ils ne faut pas qu'ils constituent chacun une clé primaire.
Le mieux ca aurait été que tu essayes, ca prend 30 secondes.
Sur les deux champs que je veux incrémenter, l'un deux est un clé primaire et l'autre non.
Mais je peux seulement mettre la clé primaire en auto_incément ; l'autre champ, non : il m'affiche une erreur si je les mets tous les deux.
Un petit coup d'œil dans la documentation de MySQL indique ça :
Une colonne de nombre entier peut se voir attribuer l'attribut AUTO_INCREMENT. Lorsque vous insérez la valeur NULL (recommandée) ou 0 dans une colonne AUTO_INCREMENT, la colonne prendra automatiquement la valeur de value+1, où value est la plus grande valeur positive courante dans cette colonne. La série des valeurs AUTO_INCREMENT commence à 1. See Section 24.2.3.33, « mysql_insert_id() ».
Depuis MySQL 4.1.1, en spécifiant l'option NO_AUTO_VALUE_ON_ZERO pour le mode --sql-mode ou la variable serveur sql_mode permet de stocker la valeur 0 dans les colonnes de type AUTO_INCREMENT, au lieu de voir 0 prendre le prochain numéro de séquence. See Section 5.2.1, « Options de ligne de commande de mysqld ».
Note : Il ne peut y avoir qu'une seule colonne de type AUTO_INCREMENT dans une table, et elle doit être indexée. MySQL version 3.23 ne fonctionnera correctement que si cette colonne n'accueille que des valeurs positives. Insérer un nombre négatif sera considéré comme insérer un nombre de très grande taille, mais positif. Ceci est fait pour éviter les problèmes de précision lorsque les nombres passe de positif à négatif lorsqu'ils atteignent leur valeur maximale positive. C'est aussi pour éviter qu'une colonne de type AUTO_INCREMENT ne contienne de valeur 0.
Rédacteur / Modérateur SGBD et R
Mes tutoriels et la FAQ MySQL
----------------------------------------------------
Pensez aux balises code et au tag![]()
Une réponse vous a plu ? N'hésitez pas à y mettre un![]()
Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça
Non, il ne peut y avoir qu'un SEUL champ en AUTO_INCREMENT !!!
Rachid A.
J'ai donc dit une bêtise.
En même temps quand on y réfléchit, il n'y aurait aucun intérêt à avoir deux champs auto-incrémentés puisqu'ils auraient la même valeur.
ok merci à tous
Partager