Programmation.SQL : mysql clé étrangère dans une autre base de données
Posté par Cyprien Le Pannérer (Jabber id, page perso, ) le 15 mai 2006
Bonjour,
J'utilise mysql 5.0 et j'ai besoin de créer des tables dans une bd dont les champ sont des clés étrangères dans d'autres bd.
J'ai essayé la ligne suivante :
create table user_test ( username varchar(255) references syscp.mail_users(username), password varchar(128) references syscp.mail_users(password) ,primary key (username));
mais je n'obtiens aucuns résultat :
mysql> select * from user_test ; Empty set (0.00 sec)
or
mysql> select username,password from syscp.mail_users;
+--------------------------------+---------------+
| username | password |
+--------------------------------+---------------+
| (...) | (...) |
+--------------------------------+---------------+
17 rows in set (0.00 sec)
me renvoie bien les valeurs ...
mais je ne vois pas ce que j'ai loupé.
J'utilise mysql 5.0 et j'ai besoin de créer des tables dans une bd dont les champ sont des clés étrangères dans d'autres bd.
J'ai essayé la ligne suivante :
create table user_test ( username varchar(255) references syscp.mail_users(username), password varchar(128) references syscp.mail_users(password) ,primary key (username));
mais je n'obtiens aucuns résultat :
mysql> select * from user_test ; Empty set (0.00 sec)
or
mysql> select username,password from syscp.mail_users;
+--------------------------------+---------------+
| username | password |
+--------------------------------+---------------+
| (...) | (...) |
+--------------------------------+---------------+
17 rows in set (0.00 sec)
me renvoie bien les valeurs ...
mais je ne vois pas ce que j'ai loupé.
> Lire le message (8 commentaires, moyenne: 1,8).
Vous avez demandé le commentaire #711471.



c'est mal
rapatrie plutôt en local les tables dont tu as besoin
ça ne va pas le faire en exploitation d'avoir deux bases différentes ainsi liées... (tu ne peux pas arrêter l'autre sans vautrer ton appli).
Si tu as réellement besoin des clés sur des données de l'autre base, cela signifie qu'il vaut mieux ne faire qu'une base de données vu qu'elles manipulent les mêmes données.
[^]Re: c'est mal
Je suis d'accord mais je ne peux pas faire fusionner les deux tables.
je pense que je vais écrire un script qui synchronise les deux BD.