MySQLでDELETE操作が実行された後にトリガーを起動する
AFTER DELETEを使用して、DELETE操作の実行後にトリガーを起動します。以下は構文です-
DELIMITER // CREATE TRIGGER yourTriggerName AFTER DELETE ON yourTableName FOR EACH ROW BEGIN yourStatement1, . . N END; //
まずテーブルを作成しましょう-
mysql> create table DemoTable(Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,FirstName varchar(100)); Query OK, 0 rows affected (0.62 sec)
挿入コマンド-
を使用して、テーブルにいくつかのレコードを挿入しますmysql> insert into DemoTable(FirstName) values('John'); Query OK, 1 row affected (0.20 sec) mysql> insert into DemoTable(FirstName) values('Mike'); Query OK, 1 row affected (0.12 sec)
selectステートメントを使用してテーブルのすべてのレコードを表示する-
mysql> select *from DemoTable;
これにより、次の出力が生成されます-
+----+-----------+ | Id | FirstName | +----+-----------+ | 1 | John | | 2 | Mike | +----+-----------+ 2 rows in set (0.00 sec)
以下は、トリガーを作成し、AFTERDELETEも使用するためのクエリです-
mysql> DELIMITER // mysql> CREATE TRIGGER history_of_Table AFTER DELETE ON DemoTable FOR EACH ROW BEGIN SELECT USER() INTO @userName; SELECT NOW() INTO @deleteDatetime; END; // Query OK, 0 rows affected (0.18 sec) mysql> DELIMITER ;
トリガーが機能しているかどうかを確認するには、テーブルから最初のレコードを削除します-
mysql> delete from DemoTable where Id=1; Query OK, 1 row affected (0.26 sec)
上記では、テーブルから最初のレコードを削除しました。これは、DELETEコマンドを使用した後にトリガーをアクティブにする必要があることを意味します-
mysql> select @userName;
これにより、次の出力が生成されます-
+----------------+ | @userName | +----------------+ | root@localhost | +----------------+ 1 row in set (0.00 sec)
トリガーが機能するたびに現在の時刻が表示されます-
mysql> select @deleteDatetime;
これにより、次の出力が生成されます-
+---------------------+ | @deleteDatetime | +---------------------+ | 2019-07-09 21:06:31 | +---------------------+ 1 row in set (0.00 sec)
-
MySQLテーブル内のすべての重複レコードを削除するにはどうすればよいですか?
テーブルから重複レコードを削除するには、DELETEコマンドを使用できます。テーブルを作成しましょう。 mysql> create table DuplicateDeleteDemo -> ( -> id int, -> name varchar(100) -> ); Query OK, 0 rows affected (0.60 sec) テーブル「DuplicateDeleteDemo」へのレコードの挿入:ここでは、「John」を複製レコードとして3回追加しました。 mysql> insert into Duplicate
-
PythonでMySQLデータベースに挿入した後にIDを取得するにはどうすればよいですか?
まず、以下の要件を満たす必要があります。前提条件は次のとおりです。 MySQLバージョン8.0.12をインストールする必要があります。 Pythonバージョン3.6.3(32ビット)をインストールする必要があります。 pipコマンドを使用してpymysqlをインストールする必要があります。 「pymysql」をインストールするには 」とpipコマンドを使用します。 データベース名は「business」で、テーブル名はレコードを挿入した後のID3の「student」です。 これがクエリです。 select *from student; 以下は出力です。 +------+