Maison  >  Article  >  base de données  >  Comment définir la valeur initiale et l'incrémentation automatique dans MySQL ?

Comment définir la valeur initiale et l'incrémentation automatique dans MySQL ?

WBOY
WBOYavant
2023-09-07 19:37:021369parcourir

Comment définir la valeur initiale et lincrémentation automatique dans MySQL ?

L'attribut AUTO_INCRMENT est utilisé pour générer un identifiant unique pour une nouvelle ligne. Si une colonne est déclarée « NON NULL », NULL peut être attribué à la colonne pour générer une séquence de nombres.

Lorsqu'une valeur est insérée dans une colonne AUTO_INCREMENT, la colonne sera définie sur cette valeur de colonne et la séquence sera également réinitialisée afin qu'elle génère automatiquement des valeurs dans la plage séquentielle de la plus grande valeur de colonne.

Il est possible de mettre à jour une colonne "AUTO_INCRMENT" existante, ce qui réinitialisera également la séquence "AUTO_INCRMENT". Dernier 'AUTO_INCRMENT' généré automatiquement ; La valeur peut être récupérée à l'aide de la fonction 'LAST_INSERT_ID()' dans SQL ou à l'aide de la fonction API C 'mysql_insert_id()'.

Ces fonctions sont spécifiques à la connexion, ce qui signifie que leurs valeurs de retour ne sont pas affectées par d'autres connexions effectuant des opérations d'insertion. Le plus petit type de données entier pouvant être utilisé pour la colonne "AUTO_INCRMENT" et suffisamment grand pour accueillir la plus grande valeur de séquence requise par l'utilisateur.

Règles AUTO_INCREMENT

Vous devez suivre les règles suivantes lorsque vous utilisez l'attribut AUTO_INCRMENT -

  • Chaque table n'a qu'une seule colonne AUTO_INCRMENT, dont le type de données est Généralement un nombre entier. La colonne

  • AUTO_INCREMENT doit être indexée. Cela signifie que cela peut être CLÉ PRIMAIRE ou index UNIQUE. La colonne

  • AUTO_INCRMENT doit avoir la contrainte NOT NULL.

  • Lorsque la propriété AUTO_INCREMENT est définie sur colonne, MySQL ajoute automatiquement Contraintes NOT NULL sur la colonne elle-même.

Si la colonne id n'a pas été ajoutée à la table, vous pouvez utiliser l'instruction suivante-

ALTER TABLE tableName ADD id INT UNSIGNED NOT NULL AUTO_INCREMENT, ADD INDEX (id);

Si la colonne id existe déjà, vous pouvez utiliser la commande suivante-

ALTER TABLE tableName AUTO_INCREMENT=specificValue;

Ici, tableName fait référence à la table où la colonne "AUTO_INCRMENT" doit être définie comme nom. « SpecificValue » fait référence à l'entier commençant à partir de la valeur « AUTO_INCRMENT » spécifiée par l'utilisateur.

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer