English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

MySQLトリガーが別のテーブルに行を挿入する方法は?

まず、テーブルを作成します。CREATEコマンドはテーブルを作成するために使用されます。

mysql> create table Table1
   -> (
   -> id int,
   -> name varchar(100)
   -> );

今、もう一つのテーブルを作成しましょう。

mysql> create table Table2
   -> (
   -> id int,
   -> name varchar(100)
   -> );

今、以下はトリガーを作成する方法です。

mysql> delimiter #
mysql> create trigger Table1Trigger after insert on Table1
   -> for each row
   -> begin
   ->  insert into Table2(id, name) values (new.id, new.name);
   -> end#
mysql> delimiter ;

トリガーを作成するには、定界符を変更する必要があります。

行を挿入します。1にトリガーがアクティブになり、記録がTableに挿入されます。2に記録を挿入します。テーブル1に記録を挿入します。

mysql> insert into Table1 values(1,'John'),(2,'Smith'),(3,'Carol');
記録: 3  重複: 0  警告: 0

2つのテーブルに同時に記録を挿入されているか確認します。

mysql> select *from Table1;

これはテーブルに記録が成功して挿入されたことを表示しています。1の出力。

+------+-------+
| id   | name  |
+------+-------+
|    1 | John  |
|    2 | Smith |
|    3 | Carol |
+------+-------+
3 セット内の行(0.00秒)

第2テーブルを確認する必要があります。

mysql>  select *from Table2;

以下はTableに表示される2中に成功して記録を挿入した出力。

+------+-------+
| id   | name  |
+------+-------+
|    1 | John  |
|    2 | Smith |
|    3 | Carol |
+------+-------+
3 セット内の行(0.00秒)
おすすめ