0

最初のテーブルのIDを持つフィールドを持つ別のテーブルのIDで無効フィールドを更新しようとしています:

ユーザー:

  • id_user
  • some_fields
  • id_アカウント

アカウント:

  • id_アカウント
  • id_user
  • some_fields

アカウント テーブルの id_user は既にいっぱいですが、id_account を最初のテーブルに配置したいのは、一部のアカウントに関連するユーザーが何人かいるためですが、それらはそのアカウントの所有者ではありません (親のアカウントと子のように、にリンクされています親のアカウント)。

アカウントの id_user は、そのアカウントの所有者です。

それを行う方法について何か考えはありますか?

4

2 に答える 2

0

あなたのデータモデルは正確ではないと思います。ユーザーとアカウントの間に 1 対 1 の関係がある場合、アカウント テーブルに id_user を保持するだけでよく、ユーザー テーブルに id_account を保持する必要はありません。

とはいえ、今持っているもので、これはあなたの列を更新するはずです:

update user u
set id_account = (select id_account from account a where a.id_user = u.id_user)
于 2013-04-23T15:09:13.223 に答える
0

1 人が複数のアカウントに関連している場合 (つまり、2 人の子供のためにアカウントを開設した場合) はどうなりますか? 最善の解決策は、別のテーブルを使用することです。

UserAccountUnrelated

id_user
id_account
于 2013-04-23T15:05:29.283 に答える