Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Débuter
Débuter Forum d'entraide pour débuter avec MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/01/2011, 14h58   #1
Invité de passage
 
Homme Alain Gérard
Auditeur informatique
Inscription : juin 2008
Messages : 9
Détails du profil
Informations personnelles :
Nom : Homme Alain Gérard
Âge : 56
Localisation : France

Informations professionnelles :
Activité : Auditeur informatique
Secteur : Conseil

Informations forums :
Inscription : juin 2008
Messages : 9
Points : 4
Points : 4
Par défaut Id Unique par MySql

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.
Heaven59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2011, 15h52   #2
Membre Expert
 
Avatar de Nudger
 
Homme Thomas Arnaud
Directeur de projet
Inscription : octobre 2010
Messages : 452
Détails du profil
Informations personnelles :
Nom : Homme Thomas Arnaud
Âge : 36
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Directeur de projet
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : octobre 2010
Messages : 452
Points : 1 012
Points : 1 012
Envoyer un message via Skype™ à Nudger
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
Nudger est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2011, 16h34   #3
Invité de passage
 
Homme Alain Gérard
Auditeur informatique
Inscription : juin 2008
Messages : 9
Détails du profil
Informations personnelles :
Nom : Homme Alain Gérard
Âge : 56
Localisation : France

Informations professionnelles :
Activité : Auditeur informatique
Secteur : Conseil

Informations forums :
Inscription : juin 2008
Messages : 9
Points : 4
Points : 4
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.
Heaven59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2011, 17h03   #4
Membre Expert
 
Avatar de Nudger
 
Homme Thomas Arnaud
Directeur de projet
Inscription : octobre 2010
Messages : 452
Détails du profil
Informations personnelles :
Nom : Homme Thomas Arnaud
Âge : 36
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Directeur de projet
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : octobre 2010
Messages : 452
Points : 1 012
Points : 1 012
Envoyer un message via Skype™ à Nudger
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
Nudger est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2011, 17h06   #5
Invité de passage
 
Homme Alain Gérard
Auditeur informatique
Inscription : juin 2008
Messages : 9
Détails du profil
Informations personnelles :
Nom : Homme Alain Gérard
Âge : 56
Localisation : France

Informations professionnelles :
Activité : Auditeur informatique
Secteur : Conseil

Informations forums :
Inscription : juin 2008
Messages : 9
Points : 4
Points : 4
Bon, pas simple tout ça.

Merci pour ces réponses et bonne soirée.
Heaven59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2011, 17h16   #6
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 10 986
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur d'études en informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2006
Messages : 10 986
Points : 18 234
Points : 18 234
Envoyer un message via MSN à CinePhil
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 !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h10.


 
 
 
 
Partenaires

Hébergement Web