sequence en mysql - SQL/NoSQL - Programmation
Marsh Posté le 26-11-2003 à 21:19:12
Tu peux définir une colonne en auto_increment (il faut que ce soit une colonne entière, qui soit une clé)
La valeur s'incrémentera automatiquement si tu ne précise pas de valeur à l'insertion.
Marsh Posté le 26-11-2003 à 21:31:13
le fait que ce soit une clef ou non n'a pas d'importance.
Marsh Posté le 26-11-2003 à 22:09:05
en fait ca marche pas ou alors je c pas l utiliser...
j ai fait:
mysql> create table test
-> (azerty auto_increment(4),
-> q varchar(3));
ERROR 1064: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'auto_increment(4),
q varchar(3))' at line 2
Marsh Posté le 26-11-2003 à 22:16:50
gizmo a écrit : le fait que ce soit une clef ou non n'a pas d'importance. |
On peut le faire sur une colonne qui ne soit pas une clé
Marsh Posté le 26-11-2003 à 22:17:54
bah oui. Ca peut sembler d'un intérêt limité, mais c'est possible.
Marsh Posté le 27-11-2003 à 11:03:21
gizmo a écrit : create table test (azerty int(4) auto_increment,... |
pourquoi spécifier une taille derrière un integer alors que ça ne sert strictement à rien? (ou alors je suis une buse )
Marsh Posté le 27-11-2003 à 11:07:07
drasche a écrit : |
t'es une buse
tu peux spécifer la taille pour donner une taille limite.
Marsh Posté le 27-11-2003 à 11:21:19
gizmo a écrit : t'es une buse |
OK
gizmo a écrit : tu peux spécifer la taille pour donner une taille limite. |
taille limite? pour moi la taille est définie par le type d'integer (shortint, longint, int, etc.), je vois donc pas ce que ça vient faire là
Marsh Posté le 27-11-2003 à 13:29:30
drasche a écrit : |
Le chiffre entre parenthèse, c'est pour définir la taille d'affichage.
Mais je vois pas trop à quoi ca sert puisque mysql te fournira toujours la valeur enregistrée, même quand elle dépasse cette taille d'affichage (99999 pour un INT(4) par exemple).
Le seul cas où je comprends l'utilité, c'est quand il est utilisé avec ZEROFILL. Avec une colonne définie en :
INT(4) ZEROFILL, la valeur 11 sera affichée : 0011
Marsh Posté le 27-11-2003 à 13:31:52
aaaaaah voilà, j'utilise jamais le zerofill donc je me demandais
merci
Marsh Posté le 26-11-2003 à 20:06:51
salut je voudrai savoir comment on fait une sequence en mysql (pour faire un numero auto comme sous access)
merci