この記事では、mysql に関する関連知識を提供します。主に、トリガーとは何か、データベースにトリガーを作成する方法、トリガーのデバイスが外部キーを置き換えられるかどうかなど、トリガーに関する関連問題を紹介します。 、見てみましょう。皆さんの参考になれば幸いです。
推奨される学習: mysql ビデオ チュートリアル
コンセプト: トリガーは、データの整合性を確保するために SQL サーバーによってプログラマやデータ アナリストに提供されるメソッドです。テーブル イベントに関連しています。特別なストアド プロシージャの実行は、プログラムによって呼び出されたり、手動で開始されるのではなく、テーブルの操作 (挿入、削除、更新) などのイベントによって実行が開始されます。トリガーは、データ整合性の制約とビジネス ルールを強制するためによく使用されます。トリガーは、DBA_TRIGGERS および USER_TRIGGERS データ ディクショナリにあります。 SQL3 トリガーは、データベースを変更するためにシステムによって自動的に実行できるステートメントです。
例 1: ユーザー テーブル (ユーザー ID、ユーザー名) を作成し、トリガーを作成します (ユーザー テーブルにデータが挿入されると、グローバルに一意の ID が自動的に生成されます)
最初にユーザー テーブルを作成します
create table user( id int PRIMARY KEY, name varchar(20) );
トリガーを作成します
-- 建立触发器名为tt create TRIGGER tt -- 触发条件,向user表中插入数据时启动触发器 BEFORE insert on user -- 检查表中每一行,对新插入的数据进行操作 for EACH ROW -- 执行操作 BEGIN set new.id=UUID(); END
トリガーは単に作成されました (現在のデータベースにあるすべてのトリガーのトリガーを表示するコードを表示します)
#効果
: テーブルに 3 つのユーザー名を挿入し、3 つの ID を自動的に生成します insert user(name) VALUE('张三'),('李四'),('王五')
例 2
: 注文テーブル DD (注文 ID、製品名、ユーザー ID) を作成し、トリガー tq1 (ユーザーが削除されると、ユーザーの注文も削除されます) テーブルの作成create table DD(
ddid int PRIMARY KEY,
ddname VARCHAR(20),
userid VARCHAR(50)
)
トリガーの作成delimiter $
-- 建立触发器名为tq
create TRIGGER tq1
-- 触发条件,再dd表删除数据之后启动触发器
AFTER DELETE on user
-- 检查表中每一行,对新插入的数据进行操作
for EACH ROW
-- 执行操作
BEGIN
DELETE FROM dd WHERE old.id=userid;
END $
delimiter ;
2 つのデータをテーブルに追加します
: user テーブルのユーザーと dd テーブルのレコードを削除します削除も続きますDelete Zhang Sandelete from user WHERE name='张三'
##トリガーで外部キーを完全に置き換えることができます
推奨学習:mysql ビデオ チュートリアル
以上がMYSQL データベース トリガーについて話しましょうの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。