• ベストアンサー

MySQLについての質問です!!

現在MySQLを学習しているんですが、ちょっとわからない問題が出てきまして質問させていただきます。 トリガーの問題なんですが、 各種テーブルに対して更新処理(追加、削除、更新)した場合、その処理を実施した時間、ユーザー名、テーブル名、処理内容を別のテーブルに自動保存する って内容なんですが、ここのテーブル名、処理内容の自動保存の構文がびっくりするくらい分かりません。。。。。 結構調べたのですが、なかなかヒットしないので質問させて下さい(涙) お願い致します(涙)

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

とりあえずトリガーつかってみてください http://dev.mysql.com/doc/refman/5.1/ja/create-trigger.html 基本的にはテーブルごとに、追加・削除・更新のトリガーを それぞれ作っておくとよいでしょう。 ちなみに微妙なのが「ユーザー名」の扱いですね 通常、mysqlのアクセスは管理者、編集者、読者程度のユーザーを設定し それに対して、webアプリなどでアクセスして更新する際に 代理で作業をさせると思います したがって、質問者さんがいうユーザーが、実質上のユーザー(作業者)であるなら そのユーザー名を渡してあげないといけないし、mysql上のユーザー(権限者)であるなら それを取得する必要があります。

hanaguma
質問者

お礼

ありがとうございます!! トリガーを複数作らないといけないんですね。。。。 ユーザーは作業者になるので、user()で指定して複数のトリガーを作ってみたらうまくいきました! てっきり一つのSQL文でできる物だと勘違いしていました(涙) ありがとうございました!!

関連するQ&A