MySQLに関する質問です。


以下のテーブルは同一データベース内にあります。

テーブル名:table_a
フィールド:id
grade_a

テーブル名:table_b
フィールド:id
grade_b

平たく言えば、grade_aとgrade_bを常に同期させたいのです。


何らかの操作によって、
table_aのidが1のレコードのgrade_aの値が変化したとします。
その場合に、
table_bのidが1のレコードのgrade_bの値も同じように変化するようにしたいです。
平たく言えば「table_aが変わる → table_bも変わる」です。


・table_bの値を何らかの操作で変化させることはありません。変わるのはtable_aのみです。
・お互いのテーブルのidは全く同じもので、table_aに3があればtable_bに3は必ずあります。

文章で書くと何やらわかりづらくなりましたが、もし可能ならば教えてください。よろしくお願いします。

回答の条件
  • 1人2回まで
  • 登録:2007/03/15 00:03:10
  • 終了:2007/03/17 06:32:22

ベストアンサー

id:b-wind No.1

b-wind回答回数3344ベストアンサー獲得回数4402007/03/15 00:19:07

ポイント27pt

【MySQLウォッチ】第16回 MySQL 5.0ベータ版リリース,新機能トリガーとビューを試す:ITpro

MySQL 5.0 以降であればトリガーが使えます。


それ以前のバージョンでは table_a の変更時に table_b も変更する以外の手はありません。

id:tokyosmash

>それ以前のバージョンでは table_a の変更時に table_b も変更する以外の手はありません。

おとなしくこれでいこうと思います。

2007/03/16 01:06:18

その他の回答(2件)

id:b-wind No.1

b-wind回答回数3344ベストアンサー獲得回数4402007/03/15 00:19:07ここでベストアンサー

ポイント27pt

【MySQLウォッチ】第16回 MySQL 5.0ベータ版リリース,新機能トリガーとビューを試す:ITpro

MySQL 5.0 以降であればトリガーが使えます。


それ以前のバージョンでは table_a の変更時に table_b も変更する以外の手はありません。

id:tokyosmash

>それ以前のバージョンでは table_a の変更時に table_b も変更する以外の手はありません。

おとなしくこれでいこうと思います。

2007/03/16 01:06:18
id:chuken_kenkou No.2

chuken_kenkou回答回数722ベストアンサー獲得回数542007/03/15 00:21:08

ポイント27pt

MySQLの質問をする場合は、バージョンを書いてください。

バージョン5.0以降であれば、トリガを使用する方法があります。

http://dev.mysql.com/doc/refman/5.0/en/triggers.html

id:tokyosmash

すみません配慮がたりませんでした。

バージョンは4.*でした!

2007/03/16 01:06:44
id:mshron No.3

mshron回答回数7ベストアンサー獲得回数02007/03/15 01:17:50

ポイント26pt

外部キー制約が可能なら、on update cascadeなどはいかがでしょう

http://dev.mysql.com/doc/refman/4.1/ja/innodb-foreign-key-constr...

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません