跨多个数据库的外键

时间:2012-09-04 11:15:30

标签: mysql foreign-keys

我有两个数据库:帐户和* company_x *。 在这两个db中我都有一个表用户

accounts.users

user_id - pimary key, auto increment
first_name
last_name
time_zone
etc.

company_x.users

user_id - primary keu, auto increment
global_user_id
first_name
last_name

我想要以下内容:在accounts.users first_namelast_name更改时更新company_x.users

我知道这种方式数据是多余的(我将first_namelast_name存储在两个地方,但我决定不跨数据库进行查询。

如何在这种情况下设置外键以自动更新company_x.users表。

我不能简单地创建从company_x.users_first_nameaccounts.users_last_name的外键,因为last_names不是唯一的。

谢谢!

1 个答案:

答案 0 :(得分:2)

您可以拥有composite foreign key constraint

FOREIGN KEY (first_name, last_name)
  REFERENCES accounts.users (first_name, last_name)
  ON UPDATE CASCADE

尽管如@Furqan comments所述,可能有更好的方法来达到你想要的效果。