MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

特定のMySQLテーブルに関連付けられているすべてのトリガーを見つけるにはどうすればよいですか?


次のクエリを使用して、特定のテーブルに関連付けられているすべてのトリガーを見つけることができます-

 mysql> SELECT * from INFORMATION_SCHEMA.TRIGGERS WHERE TRIGGER_SCHEMA ='query' AND EVENT_OBJECT_TABLE ='Student_info' \ G **************************** **1.行***************************TRIGGER_CATALOG:def TRIGGER_SCHEMA:クエリTRIGGER_NAME:studentinfo_after_delete EVENT_MANIPULATION:DELETE EVENT_OBJECT_CATALOG:def EVENT_OBJECT_SCHEMA:クエリEVENT_OBJECT_TABLE:student_info ACTION_ORDER:1 ACTION_CONDITION:NULL ACTION_STATEMENT:BEGINDECLARE vuser varchar(30); SELECT USER()into vuser; INSERT INTO student_info_deleted(id、deleted_date、deleted_by)VALUES(OLD.id、SYSDATE()、vuser); END ACTION_ORIENTATION :ROW ACTION_TIMING:AFTERACTION_REFERENCE_OLD_TABLE:NULLACTION_REFERENCE_NEW_TABLE:NULL ACTION_REFERENCE_OLD_ROW:OLD ACTION_REFERENCE_NEW_ROW:NEW CREATED:2017-11-21 14:19:34.91 SQL_MODE:ONLY_FULL_GROUP_BY、STRICT_TRANS_TABLES、NO_ ATE、NO_ZERO_DATE、ERROR_FOR_DIVISION_BY_ZERO、NO_AUTO_CREATE_USER、NO_ENGINE_SUBSTITUTION DEFINER:root @ localhost CHARACTER_SET_CLIENT:cp850 COLLATION_CONNECTION:cp850_general_ci DATABASE_COLLATION:latin1_swedish_ci1 row in set(0.00 

上記の結果セットは、「query」という名前のデータベースの「student_info」テーブルにあるトリガーのリストを示しています。


  1. 単一のクエリでMySQLテーブルのすべての列を特定の値に設定します

    まずテーブルを作成しましょう- mysql> create table DemoTable (    ClientId int NOT NULL AUTO_INCREMENT PRIMARY KEY,    ClientName varchar(40),    ClientAge int,    ClientCountryName varchar(40) ); Query OK, 0 rows affected (0.57 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mys

  2. TRIGGERSを使用してMySQLテーブルにDATEを挿入するにはどうすればよいですか?

    まずテーブルを作成しましょう- mysql> create table DemoTable1584    -> (    -> DueDate datetime    -> ); Query OK, 0 rows affected (1.79 sec) これは、MySQLにDATEを挿入するためのクエリです- mysql> create trigger insertDate before insert on DemoTable1584    ->  for each