129 votes

Incrémentation automatique dans phpmyadmin

Je dispose d'une base de données existante utilisant PHP, MySQL et phpMyAdmin.

Lorsque les utilisateurs deviennent membres de mon site web, j'ai besoin que le système crée un numéro de membre unique pour eux en utilisant un nombre à cinq chiffres, par exemple 83773. Je suppose que c'est comme générer un mot de passe aléatoire, sauf que je ne veux que des chiffres pour mes membres. Ce numéro d'identification doit être unique pour chaque membre.

Serait-il possible de définir la clé primaire sur auto_increment dans ma table utilisateur et de la faire démarrer à 10000, puis de l'incrémenter automatiquement à chaque fois qu'un membre s'inscrit ?

Par ailleurs, existe-t-il un nombre maximum que le numéro d'identification de la clé primaire peut atteindre ?

S'agit-il d'un moyen fiable et sûr d'utiliser le numéro d'identification de la clé primaire comme numéro d'adhérent ?

2voto

KE Keronei Points 23

@AmitKB, Votre procédure est correcte. Bien que cette erreur

Erreur de requête : #1075 - Définition de table incorrecte ; il ne peut y avoir qu'une seule colonne auto et elle doit être définie comme une clé.

peut être résolu en marquant d'abord le champ comme clé (en utilisant l'icône de clé avec l'étiquette primaire), à moins que vous n'ayez d'autres clés, alors cela peut ne pas fonctionner.

2voto

user14840225 Points 31

La manière la plus simple de le faire sur la dernière version de phpmyadmin est d'utiliser la commande suivante ;

ALTER TABLE `table_name` ADD `col_name` INT(1) NOT NULL AUTO_INCREMENT FIRST, ADD PRIMARY KEY (`col_name`);

1voto

Done_Ke Points 3

(a)Cliquez simplement sur votre base de données, sélectionnez votre table. Cliquez sur "Opérations". Dans la section "options de la table", modifiez la valeur AUTO_INCREMENT pour obtenir la valeur souhaitée, dans ce cas : 10000 et cliquez sur 'Go' (voir l'image ci-jointe).

(b) Vous pouvez également exécuter une commande SQL sous l'onglet SQL après avoir sélectionné votre table. Tapez simplement "ALTER TABLE nom_table AUTO_INCREMENT = 10000 ;" puis cliquez sur "Go". C'est tout ! RÉGLAGE DE LA VALEUR D'INCRÉMENTATION AUTO image(a)

RÉGLAGE DE LA VALEUR D'INCRÉMENT AUTO image(B)

0voto

Emil Vikström Points 42251

Il n'est pas possible de fixer une valeur maximale (à moins de choisir un type de données qui ne peut pas contenir de grands nombres, mais il n'en existe aucun qui ait la limite que vous demandez). Vous pouvez vérifier cela avec LAST_INSERT_ID() après l'insertion pour obtenir l'identifiant du membre nouvellement créé et, s'il est trop grand, le gérer dans votre code d'application (par exemple, supprimer et rejeter le membre).

Pourquoi voulez-vous une limite supérieure ?

0voto

Mike S. Points 535

Je suppose qu'à partir de PMA 4.0.6, qui est la version que j'utilise, la fonction d'auto-incrémentation a été soit déplacée, soit supprimée.

enter image description here

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X