Rumah > pangkalan data > tutorial mysql > Apakah pernyataan pencetus pertanyaan mysql?

Apakah pernyataan pencetus pertanyaan mysql?

青灯夜游
Lepaskan: 2022-06-14 15:57:03
asal
6150 orang telah melayarinya

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.

Apakah pernyataan pencetus pertanyaan mysql?

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 数据库名];
Salin selepas log masuk

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)
Salin selepas log masuk

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)
Salin selepas log masuk

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)
Salin selepas log masuk

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
Salin selepas log masuk

Apakah pernyataan pencetus pertanyaan mysql?

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:

Antaranya, 'nama pencetus' digunakan untuk menentukan nama pencetus untuk dilihat dan perlu disertakan dalam petikan tunggal. Kaedah ini boleh menanyakan pencetus yang ditentukan, yang lebih mudah dan fleksibel untuk digunakan.

Cara ini membolehkan anda melihat kandungan pencetus dan metadatanya, seperti nama jadual dan penentu yang berkaitan, iaitu nama pengguna MySQL yang mencipta pencetus.

Contoh 2

Yang berikut menggunakan arahan SELECT untuk melihat pencetus kemas kini trig adalah seperti berikut:

SELECT * FROM information_schema.triggers WHERE trigger_name= '触发器名';
Salin selepas log masuk
Di atas arahan menggunakan WHERE untuk menentukan apa yang perlu dilihat Nama pencetus, hasil yang dijalankan adalah seperti berikut:

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 berada
SELECT * FROM information_schema.triggers WHERE TRIGGER_NAME= 'trigupdate'\G
Salin selepas log masuk

mysql> SELECT * FROM information_schema.triggers WHERE TRIGGER_NAME= 'trigupdate'\G
Salin selepas log masuk
TRIGGER_NAME mewakili nama pencetus;

Apakah pernyataan pencetus pertanyaan mysql?

EVENT_OBJECT_TABLE menunjukkan jadual data mana pencetus dihidupkan; 🎜>

  • Nilai ACTION_ORIENTATION ialah ROW, yang bermaksud ia dicetuskan pada setiap rekod;

  • Terdapat juga beberapa maklumat lain, seperti masa penciptaan pencetus, mod SQL, akaun definisi pencetus dan set aksara, dsb., yang tidak akan diperkenalkan satu demi satu di sini.

上述 SQL 语句也可以不指定触发器名称,这样将查看所有的触发器,SQL 语句如下:

SELECT * FROM information_schema.triggers \G
Salin selepas log masuk

这个语句会显示 triggers 数据表中所有的触发器信息。

【相关推荐:mysql视频教程

Atas ialah kandungan terperinci Apakah pernyataan pencetus pertanyaan mysql?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan