Terdapat dua pernyataan untuk pencetus pertanyaan mysql: 1. "TUNJUKKAN PENCETUS [DARI nama pangkalan data];" yang boleh melihat maklumat asas pangkalan data semasa atau pencetus pangkalan data yang ditentukan. 2. Penyataan "SELECT * FROM information_schema.triggers WHERE trigger_name= 'trigger name';" digunakan untuk melihat maklumat pencetus tertentu dan mendapatkan kandungan pencetus dan metadatanya, seperti nama jadual dan penentu.
Persekitaran pengendalian tutorial ini: sistem windows7, versi mysql8, komputer Dell G3.
Melihat pencetus merujuk kepada melihat definisi, status dan maklumat sintaks pencetus yang telah wujud dalam pangkalan data.
Terdapat dua cara untuk melihat pencetus dalam MySQL:
TUNJUKKAN pernyataan PENCETUS
Soal pencetus di bawah pangkalan data information_schema Jadual data, dsb.
1 Gunakan pernyataan SHOW TRIGGERS untuk melihat maklumat pencetus
Dalam MySQL, anda boleh. gunakan pernyataan SHOW TRIGGERS untuk melihat maklumat asas pencetus Format sintaks adalah seperti berikut:
SHOW TRIGGERS [FROM 数据库名];
FROM 数据库名
: Ini adalah pernyataan pilihan Jika anda ingin melihat semua pencetus dalam pangkalan data semasa. abaikan ia; jika anda ingin mendapatkan data dalam pangkalan data tertentu Untuk semua pencetus, jangan tinggalkannya dan nyatakan nama pangkalan data.
Contoh 1
Mula-mula buat akaun jadual data Terdapat dua medan dalam jadual iaitu accnum jenis INT dan jumlah jenis DECIMAL. Penyata SQL dan hasil yang dijalankan adalah seperti berikut:
mysql> CREATE TABLE account( -> accnum INT(4), -> amount DECIMAL(10,2)); Query OK, 0 rows affected (0.49 sec)
Buat pencetus bernama trigupdate dan masukkan sekeping data ke dalam jadual data myevent setiap kali jadual akaun mengemas kini data. Pernyataan SQL dan hasil jalankan untuk mencipta jadual data myevent adalah seperti berikut:
mysql> CREATE TABLE myevent( -> id INT(11) DEFAULT NULL, -> evtname CHAR(20) DEFAULT NULL); Query OK, 0 rows affected (0.26 sec)
Kod SQL untuk mencipta pencetus kemas kini trig adalah seperti berikut:
mysql> CREATE TRIGGER trigupdate AFTER UPDATE ON account -> FOR EACH ROW INSERT INTO myevent VALUES(1,'after update'); Query OK, 0 rows affected (0.15 sec)
Gunakan SHOW TRIGGERS pernyataan untuk melihat pencetus (dalam SHOW TRIGGERS Tambah G selepas arahan supaya maklumat yang dipaparkan akan lebih teratur Penyataan SQL dan hasil yang dijalankan adalah seperti berikut:
mysql> SHOW TRIGGERS \G
Anda boleh melihat maklumat asas pencetus daripada hasil yang sedang dijalankan. Perihalan maklumat yang dipaparkan di atas adalah seperti berikut:
Pencetus mewakili nama pencetus, dengan nama pencetus ialah trigupdate; 🎜>Peristiwa mewakili Peristiwa yang mengaktifkan pencetus, di sini peristiwa pencetus adalah KEMASKINI operasi kemas kini
Jadual mewakili jadual objek operasi yang mengaktifkan pencetus, berikut ialah jadual akaun;
Pernyataan mewakili operasi yang dilakukan oleh pencetus, di sini adalah untuk memasukkan sekeping data ke dalam jadual data myevent; masa apabila pencetus dicetuskan, berikut ialah selepas operasi kemas kini (SELEPAS ); akaun dan set aksara, dsb., yang tidak akan diperkenalkan satu persatu di sini.
Pernyataan SHOW TRIGGERS digunakan untuk melihat maklumat tentang semua pencetus yang dibuat pada masa ini. Oleh kerana pernyataan ini tidak boleh menanyakan pencetus yang ditentukan, adalah mudah untuk menggunakan pernyataan ini apabila terdapat sedikit pencetus. Jika anda ingin melihat maklumat tentang pencetus tertentu atau terdapat banyak pencetus dalam pangkalan data, anda boleh mencari terus dari jadual data pencetus dalam pangkalan data information_schema.
2. Lihat maklumat pencetus dalam jadual pencetus
Dalam MySQL, semua maklumat pencetus wujud dalam jadual pencetus pangkalan data information_schema , anda boleh melihatnya melalui perintah pertanyaan SELECT Sintaks khusus adalah seperti berikut:
Contoh 2
Yang berikut menggunakan arahan SELECT untuk melihat pencetus kemas kini trig adalah seperti berikut:SELECT * FROM information_schema.triggers WHERE trigger_name= '触发器名';
Anda boleh melihat maklumat terperinci bagi. pencetus daripada hasil larian. Perihalan maklumat yang dipaparkan di atas adalah seperti berikut:
TRIGGER_SCHEMA mewakili pangkalan data di mana pencetus beradaSELECT * FROM information_schema.triggers WHERE TRIGGER_NAME= 'trigupdate'\G
mysql> SELECT * FROM information_schema.triggers WHERE TRIGGER_NAME= 'trigupdate'\G
EVENT_OBJECT_TABLE menunjukkan jadual data mana pencetus dihidupkan; 🎜>
上述 SQL 语句也可以不指定触发器名称,这样将查看所有的触发器,SQL 语句如下:
SELECT * FROM information_schema.triggers \G
这个语句会显示 triggers 数据表中所有的触发器信息。
【相关推荐:mysql视频教程】
Atas ialah kandungan terperinci Apakah pernyataan pencetus pertanyaan mysql?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!