|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Alain Gérard Auditeur informatique Inscription : juin 2008 Messages : 9 ![]() |
Bonjour à tous et toutes,
J'aimerai savoir, si il existe sous Mysql, une commande, comme en PHP, UNIQID ? En fait j'ai besoin de cette éventuelle commande pour créer un ID unique de 20 caractères pour des importations de données. Merci de vos éventuelles soluces. Bonne journée. |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() |
Bonjour,
Si besoin c'est que les ID soient autognérés par MySQL, il existe les entiers auto incrémentés pour ça. Si le besoin c'est d'avoir un contrôle d'unicité sur une colonne c'est possible aussi en créant un index unique sur cette colonne.
__________________
www.nudge.org Surveillez et optimisez vos applications Java |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Alain Gérard Auditeur informatique Inscription : juin 2008 Messages : 9 ![]() |
Merci pour la réponse.
Si le besoin c'est d'avoir un contrôle d'unicité sur une colonne c'est possible aussi en créant un index unique sur cette colonne. Oui mais comment générer par exemple un ID de type 'ahdfvd454' à la volée ? Mon soucis en fait est qu'a l'importation cet ID n'existe pas. J'aurai donc voulu qu'il s'auto-génère lors de l'insertion dans la base MYSQL. Mais puis-je le faire ...... ![]() Merci. |
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() |
Les ID auto incrémentés sont forcément numériques.
Après, ce qui est numérique est aussi alpha-numérique donc ça devrait répondre au problème. Et à la lecture, rien n'empêche de faire une conversion du nombre en texte si besoin. Le seul inconvénient est qu'il y a moins de combinaisons possibles donc moins de lignes stockables dans la table... mais faut vraiment avoir besoin de stocker une quantité astronomique de lignes pour ne pas pouvoir se contenter de ça. Une autre solution est de faire un trigger sur insert qui permet de calculer dans une procédure la colonne ID lors de l'insertion. Inconvénient 1: il faut scripter la génération de l'ID unique. Inconvénient 2: impact de performance, ce script va s'exécuter à chaque insert.
__________________
www.nudge.org Surveillez et optimisez vos applications Java |
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Alain Gérard Auditeur informatique Inscription : juin 2008 Messages : 9 ![]() |
Bon, pas simple tout ça.
Merci pour ces réponses et bonne soirée. |
|
|
00
|
|
|
#6 |
![]() ![]() |
Quel est le but de cet identifiant alphanumérique ?
Si c'est pour en faire la clé primaire de la table, et donc une clé uniquement utilisée par le SGBD, utilise l'entier auto-incrémenté, c'est fait pour ça et les traitements sur les entiers sont plus perfomants que sur les chaînes de caractères. Voir l'article de SQLPro à ce sujet.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
00
|
Copyright © 2000-2012 - www.developpez.com