具体的には、日本語の文章を追加編集するテーブルがあり、フィールドに変更があった場合内容を英語に機械翻訳して別のDBに入れたいのです。
プログラム部分は難しくないとおもうのですが、DBに変更があった場合というトリガーがあるのか解りません。
なにか良い方法はありますか?
案1:トリガーを使う
MySQL :: MySQL 5.1 リファレンスマニュアル :: 18.1 CREATE TRIGGER 構文
案2:timestamp 型の変数を用意しておくとレコードが更新される毎に更新日時が挿入される
MySQL :: MySQL 5.1 リファレンスマニュアル :: 10.3.1.1 TIMESTAMP MySQL 4.1での性質
これを利用し、プログラムで定期的にチェックして変更を検知させる。
案1:トリガーを使う
MySQL :: MySQL 5.1 リファレンスマニュアル :: 18.1 CREATE TRIGGER 構文
案2:timestamp 型の変数を用意しておくとレコードが更新される毎に更新日時が挿入される
MySQL :: MySQL 5.1 リファレンスマニュアル :: 10.3.1.1 TIMESTAMP MySQL 4.1での性質
これを利用し、プログラムで定期的にチェックして変更を検知させる。
ありがとうございます。トリガー5.0から実装されているのですね。素晴らしいです。
自分でやった事がないので自信ないですが、mysql5.0からトリガ機能が追加されましたので、それを使って変更を検知できるのでは?
変更点を別のテーブルに追記するようにしておいて、一定時間毎にそのテーブルを読んで翻訳するようなプログラムを走らせれば良いんじゃないでしょうか。
ありがとうございます。トリガーがあれば、どうとでもプログラムが組めますね。助かりました。
MySQL 5.0以降なら、トリガーが実装されています。
MySQL :: MySQL 5.0 Reference Manual :: 12.1.10 CREATE TRIGGER Syntax
MySQL :: MySQL 5.0 Reference Manual :: 17 Stored Programs and Views
特定の表に対し、insert、update、deleteが行われた場合、そうの操作の前または後に呼び出されるストアドルーチンを定義できます。
MySQL 5.0は英文マニュアルですが、MySQL 5.1なら日本語マニュアルもあります。
ありがとうございます。トリガーつかってみようとおもいます。
ありがとうございます。トリガー5.0から実装されているのですね。素晴らしいです。