これを行うには2.5の方法があります(基本的に2つですが、3つあるように感じます):
最も簡単なものから最も難しいものへ...
オプション1:
tableBの値を反映するためにtableAが必要な場合は、tableAに値を格納せず、tableBの値を使用してください。いずれかの結合を使用します:
select a.*, b.col1
from tableA a
join tableB b on <some join condition>
または副選択
select *, (select col1 from tableB where <some condition>) col1
from tableA
オプション2:
オプション1に満足している場合は、それをテーブルのように動作するビューに変換します(結合であるビューの更新に関する制限を除く):
create view myview as
select ... (one of the above selects)
オプション3:
tableBの値が変更されたときに起動するデータベーストリガーを作成し、その値をtableAの適切な行/列にコピーします
create trigger tableB_update
after update on tableB
for each row
update tableA set
tablea_col = new.col1
where id = new.tableA_id;
new
に注意してください およびold
更新されるテーブルの値を参照できるように、新しい行と古い行に付けられた特別な名前です。
ニーズに最適なオプションを選択してください。