Identifiant unique sur plusieurs tables

kalimbra Messages postés 469 Date d'inscription   Statut Membre Dernière intervention   -  
jee pee Messages postés 41553 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

j'aurais besoin d'un identifiant unique sur plusieurs tables (autrement dit dont la valeur ne se retrouve sur aucune des tables concernées).

Pas difficile me direz vous, sauf que je traite chacune de ces tables séparément. Cahcune a son id primaire et unique, mais cet identifiant doit être unique sur l'ensemble de la base. (j'en ai besoin pour établir des liaisons)..

Existe t' il une fonction pour cela ou dois je vérifier à chaque insertion l'entièreté des tables concernées ?

4 réponses

jee pee Messages postés 41553 Date d'inscription   Statut Modérateur Dernière intervention   9 725
 
Salut,

Cette discussion est ancienne, mais comme elle vient d'être réveillée ;-)

Sous un SGBD comme oracle on utiliserait une séquence pour générer un identifiant unique.

Mais cela n'existe pas sous mysql, la solution créer une fonction qui simule le fonctionnement des séquences : http://www.sqlfr.com/codes/MYSQL-FONCTION-GERER-COMPTEURS-EQUIVALENT-SEQUENCES-ORACLE_45299.aspx

cdlt

1
Nabla's Messages postés 18203 Date d'inscription   Statut Contributeur Dernière intervention   3 193
 
merci de préciser sur quelle base de données tu travailles ...
0
kalimbra Messages postés 469 Date d'inscription   Statut Membre Dernière intervention   72
 
ooppsss désolé

il s'agit de MySQL
0
Jul
 
md5(microtime()) avec une suite de lettre correspondant à ta base :
sur une base livre id = LIV464532qs465qs
sur une base Bibli id = BIBLI4654587dsf9875

en gros c'est l'idée mais faut le donnée comme valeur et pas comme auto-incrémentation.
0