Comment fonctionne l'incrément automatique MySQL?
Je viens de créer une nouvelle table à l'aide de MySQL Query Browser, et a remarqué il y a une tique en vertu de l'Incrément Automatique de la Colonne. Comment cela fonctionne?
Lors de l'ajout à la base de données par programmation, dois-je simplement ajouter un numéro, puis la base de données incrémente automatiquement ce numéro?
A chaque fois qu'un NOUVEL utilisateur s'inscrit sur mon site, je veux leur Client ID (entier uniquement) auto incrément, donc je n'ai pas d'essayer et de générer aléatoirement un numéro unique.
Cela peut être fait simplement?
Merci!
source d'informationauteur
Vous devez vous connecter pour publier un commentaire.
Oui, c'est la façon dont
auto_increment
œuvres.La valeur sera incrémenté pour chaque nouvelle ligne
La valeur est unique, les doublons ne sont pas possible
Si une ligne est supprimée, le
auto_increment
colonne de cette ligne ne sera pas ré-attribué.La
auto_increment
valeur de la dernière ligne insérée peut être consulté à l'aide de la fonction mySQLLAST_INSERT_ID()
mais il doit être appelé juste après l'insertion de la requête, dans la même connexion à la basede Référence de mySQL
1 de plus,
Vous pouvez insérer votre propre valeur (c'est à dire votre valeur aléatoire).
Lorsque vous activez l'Auto Incrément un ID sera toujours obtenir automatiquement ajouté à chaque fois qu'un nouvel enregistrement est fait.. Exemple:
Si vous avez 1 enregistrement avec l'ID 1 dans votre table et vous ajoutez un nouvel enregistrement, l'ID sera automatiquement 2.
Oui. Les colonnes Auto_Increment travail comme ils disent sur la boite. Conseils
lors de l'INSERTION - ing, utilisez la valeur NULL ou omettre la colonne
Utilisation LAST_INSERT_ID() (ou de l'API équivalents) pour obtenir la dernière valeur générée.
pour la sécurité et la logique métier raisons, il est habituellement préférable de forme pour ne pas utiliser directement une valeur de clé pour un identificateur de client. Pensez à utiliser Haché /randomisés de substitution à la clientèle des clés à la place.
Ta
Oui, c'est exactement le but de
AUTO_INCREMENT
. Il regarde tout ce qui est la valeur d'incrément actuelle pour cette table, et stocke cette valeur plus 1 pour la nouvelle ligne qui entre automatiquement. Vous pouvez omettre ce domaine à partir de votreINSERT
états et MySQL gère pour vous pour chaque nouvelle ligne qui vient, en donnant à chaque ligne de sa propre identité.