Je crée simplement une nouvelle table à l'aide du navigateur de requête MySQL et vous avez remarqué qu'il y a une tick sous la colonne Auto Incretissement. Comment ça marche? P>
Lorsque vous ajoutez à la base de données de manière programmatique, puis-je simplement ajouter un numéro, puis la base de données incrémente automatiquement ce nombre? p>
Chaque fois qu'un nouvel utilisateur d'utilisateurs sur mon site, je souhaite que son identifiant client (entier uniquement) à l'incrément automatique, donc je n'ai pas à essayer de générer de manière aléatoire un nombre unique. P>
Peut-on être fait simplement? P>
Merci! P>
5 Réponses :
Lorsque vous ajoutez à la base de données de manière programmatique, puis-je simplement ajouter un numéro, puis la base de données incrémente automatiquement ce nombre? p> blockQuote>
Oui, c'est la façon dont
auto_incrènement code> fonctionne. p>
La valeur sera incrémentée pour chaque nouvelle ligne p> li>
La valeur est unique, les doublons ne sont pas possibles p> li>
Si une ligne est supprimée, la colonne
auto_incrènement code> de cette ligne ne sera pas réaffectée. p> li>
le
auto_incrènement code> de la dernière ligne insérée est accessible à l'aide de la fonction MySQL
last_insert_id () code> mais c'est em> doit être appelé em> juste après la requête d'insertion, dans la même connexion de base de données p> li> ul>
Auto_Increment CODE> Les valeurs ne sont pas nécessairement uniques: SQLFIDDLE.com/#!2/ 85E93 / 1
Oui, c'est l'objectif exact de auto_incrènement code>. Il examine tout ce qui est la valeur d'incrémentation actuelle pour cette table et stocke cette valeur plus 1 pour la nouvelle ligne qui se trouve automatiquement. Vous pouvez omettre ce champ à partir de vos relevés code> Insérer CODE> et MySQL le gérera pour vous pour chaque nouvelle ligne qui se trouve, donnant à chaque ligne son propre identifiant unique. P>
Lorsque vous activez l'incrément automatique, un ID sera toujours ajouté automatiquement chaque fois qu'un nouvel enregistrement est effectué. Exemple: P>
Si vous avez 1 enregistrement avec ID 1 de votre table et que vous ajoutez un nouvel enregistrement, l'ID sera automatiquement 2. P>
1 de plus, Vous pouvez également insérer votre propre valeur (c'est-à-dire votre valeur aléatoire). p>
Oui. Les colonnes auto_incrimentation fonctionnent comme se disent sur l'étain. Conseils p>
Lorsque vous insérez, utilisez null ou omettez la colonne P> li>
Utilisez last_insert_id () (ou équivalents API) pour obtenir la dernière valeur générée. p> li>
Pour des raisons de sécurité et de logique commerciale, il est généralement préférable de ne pas utiliser directement une valeur clé pour un identifiant client. Envisagez d'utiliser des touches client de substitution hachées / randomisées à la place. P> LI> ul>
ta p>
Référence: dev.mysql.com/doc/refman/ 5.0 / FR / Exemple-incraction automatique.html
Merci! - Alors, je n'ai pas vraiment besoin de faire quoi que ce soit. Il suffira d'ajouter un numéro chaque fois qu'une nouvelle ligne est ajoutée? :)
Je ferais cette communauté pour les débutants ici.