人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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は必ずあります。

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

●質問者: tokyosmash
●カテゴリ:インターネット ウェブ制作
✍キーワード:MySQL データベース フィールド レコード 操作
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● b-wind
●27ポイント ベストアンサー

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

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


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

◎質問者からの返答

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

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


2 ● chuken_kenkou
●27ポイント

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

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

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

◎質問者からの返答

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

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


3 ● mshron
●26ポイント

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

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ