Maison >base de données >tutoriel mysql >Les clés étrangères MySQL InnoDB peuvent-elles s'étendre sur différentes bases de données ?
Clé étrangère MySQL InnoDB référençant une autre base de données
Dans MySQL InnoDB, il est possible d'établir des relations de clé étrangère entre des tables de différentes bases de données. Cette fonctionnalité vous permet d'appliquer l'intégrité référentielle au-delà des limites de la base de données, garantissant ainsi la cohérence des données.
Méthode :
Pour créer une clé étrangère qui fait référence à une table dans une autre base de données, spécifiez simplement le nom de la base de données suivi du nom de la table dans la clause FOREIGN KEY. La syntaxe est la suivante :
ALTER TABLE your_table ADD FOREIGN KEY (your_column) REFERENCES otherdb.othertable(other_column);
Par exemple, considérons deux bases de données : db1 et db2. Supposons que nous ayons une table utilisateurs dans db1 et une table commandes dans db2. Nous pouvons établir une clé étrangère dans la table des commandes pour référencer la table des utilisateurs comme suit :
ALTER TABLE orders ADD FOREIGN KEY (user_id) REFERENCES db1.users(id);
Cette clé étrangère garantira que chaque user_id de la table des commandes a un identifiant correspondant dans la table des utilisateurs dans db1.
Remarque :
Les bases de données impliquées dans la relation de clé étrangère doivent être sur le même serveur. Les clés étrangères inter-serveurs ne sont pas prises en charge dans MySQL InnoDB.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!