我有两个数据库:帐户和* 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_name
或last_name
更改时更新company_x.users
。
我知道这种方式数据是多余的(我将first_name
和last_name
存储在两个地方,但我决定不跨数据库进行查询。
如何在这种情况下设置外键以自动更新company_x.users
表。
我不能简单地创建从company_x.users_first_name
到accounts.users_last_name
的外键,因为last_names不是唯一的。
谢谢!
答案 0 :(得分:2)
您可以拥有composite foreign key constraint:
FOREIGN KEY (first_name, last_name)
REFERENCES accounts.users (first_name, last_name)
ON UPDATE CASCADE
尽管如@Furqan comments所述,可能有更好的方法来达到你想要的效果。