BEFORE と
AFTER の 2 つのタイプがあり、それぞれトリガーに定義された操作がトリガー イベントの前後に実行されることを示します。
BEFORE または
AFTER はトリガー時刻、
INSERT、
UPDATE または
を示します。 DELETE はトリガーされる操作のタイプを示し、
table_name はトリガーされるテーブル名を示し、
FOR EACH ROW は各行が 1 回トリガーされることを示します。
BEGIN と
END の間に、トリガーで実行する操作を記述できます。これは SQL ステートメントにすることができます。 、ストレージ プロシージャまたは関数呼び出しなど。
BEFORE トリガーでは、新しいデータの値を表す
NEW キーワードを変更できます。
AFTER トリガーでは、
OLD# を使用できます。 ## キーワードは古いデータの値を表します。 2.3 トリガーの削除
DROP TRIGGER IF EXISTS トリガー名;
3. サンプル コード
name
, を含む学生テーブル
students があるとします。 age
フィールドと total_score
フィールドでは、新しいデータを挿入するときに合計スコアを自動的に計算し、結果を total_score
フィールドに保存したいと考えています。 最初にトリガーを作成します:
DELIMITER // トリガーの作成 Calculate_total_score 学生に挿入する前に 行ごとに 始める SET NEW.total_score = NEW.math_score NEW.english_score NEW.history_score; 終わり; // DELIMITER ;
データを挿入すると自動的にトリガーがトリガーされます:
INSERT INTO students (name, age, math_score, english_score, History_score) VALUES ('Zhang San', 20, 80, 85 , 75);
この時点で、トリガーは合計スコアを自動的に計算し、結果を
フィールドに保存します。 <h2>結論</h2>
<p>上記の例を通じて、MySQL トリガーの機能とメカニズムについて詳しく説明し、具体的なコード例を示しました。 Trigger は、複雑なビジネス ロジックと操作をデータベース レベルで実装できる強力なデータベース ツールです。トリガーを合理的に適用すると、データベースのパフォーマンスとデータの一貫性が向上し、データベース開発には不可欠な部分です。この記事が読者のお役に立てれば幸いです、読んでいただきありがとうございます! </p>
以上がMySQL トリガーの機能とメカニズムについての詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。