2

アカウントと*company_x*の2つのデータベースがあります。両方のデータベースにテーブルusersがあります。

account.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ます。

私はこの方法でデータが冗長であることを知っています(私は2つの場所に保存first_namelast_nameますが、データベース間でクエリを実行しないことにしました)。

この状況で外部キーを設定してcompany_x.usersテーブルを自動的に更新する方法。

last_namesは一意ではないため、からcompany_x.users_first_nameへの外部キーを単純に作成することはできません。accounts.users_last_name

ありがとう!

4

1 に答える 1

2

複合外部キー制約を持つことができます:

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

@Furqanがコメントしているように、あなたが望むことを達成するためのより良い方法はおそらくあるでしょう。

于 2012-09-04T11:19:29.890 に答える