質問

って聞いてトリガー、およびいくつか質問をします。
何をトリガー?
設定方法を教えてくださいって。
注意事項はありまくりながら、典型的なSQLものにすべき役割を担っているのか。

役に立ちましたか?

解決

トリガできる実行機能のデータベースとして特定のイベントが起こる(例えば、挿入したといえます。

できないコメントをmysqlのではありません。

注意:トリガできる非常に魅力が最初に使い始めてしまうような魔法の弾丸を全ての種類の課題です。ものを作っている"と話されたという"魔法"も、わからない場合は、データベース内でのような本当に不思議なことは起こるみなどを挿入し、他のテーブル、入力データを変更します。前の実施ものとしてトリガさんすることを真剣に検討することではなく強制の利用APIとしてのスキーマ(好ましくは、データベースでない場合).

もちろん使用を続けるためのトリガー

  • 身体の安全を確保するため"date_created"と"date_last_edited"分野
  • 挿入"ID"'s(oracleは自動認識分野)
  • を変更履歴

んでいることん使いたいトリガー

  • ビジネスルール/ロジック
  • 何を接続する外部のデータベース(例えば索しています。
  • アクセス制御
  • 何もない取引(現するためのトリガできなければなロールバックの取引

他のヒント

から dev.mysql.com, は、トリガー

...という名称のデータベースオブジェクト 関連テーブルとは 起動時に特定のイベント が発生します。

の書式をしていくものと考えられ はさまのwebサイトでは、ログイン.

簡単に言うと、

CREATE
    [DEFINER = { user | CURRENT_USER }]
    TRIGGER trigger_name trigger_time trigger_event
    ON tbl_name FOR EACH ROW trigger_stmt

この例:

CREATE TABLE account (acct_num INT, amount DECIMAL(10,2));
CREATE TRIGGER ins_sum BEFORE INSERT ON account FOR EACH ROW SET @sum = @sum + NEW.amount;

あなたには、少なくとも必要性を遵守する すべての制限に保存機能.することはできませんでロックテーブル、変更、修正、テーブルが起きたということは、トリガが発生します。またトリガー の原因となり複製問題.

トリガーという名称のデータベースオブジェクトに関連付けられたテーブルおよび活性化されるが、特定のイベントが発生します。

をトリガー:

CREATE TRIGGER triggerName [BEFORE|AFTER] [INSERT|UPDATE|DELETE|REPLACE] ON tableName FOR EACH ROW SET stuffToDoHERE;


もっこの部分にどのようにしました

この問題は古いですが、その他の回答をもらユーザに問い上の注意取り組まれるべきかを追加したいもの:

  • ご利用の場合は複製複雑な環境を作成するのではありませんがトリガーな呼び保管上の手続きをトリガーとする。
  • トリガ遅イナリを使用しています。
  • できませんがご利用SQLステートメント内をトリガーとする。一部の諸表を許可するときは避けるように、ロックが解除されます。一般には:ない場合は十分に理解し、意義のうんです。
  • トリガが無限ループが、注意してください。
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top