Rumah  >  Artikel  >  pangkalan data  >  Penguasaan lengkap pencetus MySQL

Penguasaan lengkap pencetus MySQL

WBOY
WBOYke hadapan
2022-06-28 15:25:392742semak imbas

Artikel ini membawa anda pengetahuan yang berkaitan tentang mysql, yang terutamanya mengatur isu yang berkaitan dengan pencetus, termasuk sebab pencetus diperlukan, gambaran keseluruhan pencetus, penciptaan pencetus, dsb. Mari kita lihat kandungan di bawah, saya harap ia akan membantu semua orang.

Penguasaan lengkap pencetus MySQL

Pembelajaran yang disyorkan: tutorial video mysql

1 Mengapa pencetus diperlukan

Sesetengah jadual adalah saling eksklusif Berkaitan, seperti jadual produk dan jadual inventori, jika kami mengendalikan data jadual produk, jadual inventori yang sepadan mesti diubah, untuk memastikan integriti data. Lebih menyusahkan jika kita menyelenggaranya sendiri secara manual.
Pada masa ini, kami boleh menggunakan pencetus untuk mencipta pencetus supaya operasi pemasukan data maklumat produk secara automatik mencetuskan operasi pemasukan data inventori, dsb., supaya kami tidak perlu risau tentang kehilangan data kerana terlupa menambah data inventori .

2. Gambaran keseluruhan pencetus

  • MySQL menyokong pencetus bermula dari versi 5.0.2
  • Pencetus MySQL adalah sama seperti prosedur tersimpan program yang dibenamkan dalam pelayan MySQL
  • Pencetus ialah peristiwa yang mencetuskan operasi Peristiwa ini termasuk memasukkan, memadam, mengemas kini acara
  • Jika atur cara pencetus ditakrifkan, maka pangkalan data Apabila pernyataan ini. dilaksanakan, ia adalah bersamaan dengan kejadian peristiwa, yang secara automatik akan mencetuskan pencetus untuk melaksanakan operasi yang sepadan
  • Jika anda memasukkan data ke dalam jadual dalam pangkalan data, anda perlu melaksanakan beberapa secara automatik operasi pangkalan data Apabila ia datang kepada logik, kita boleh menggunakan pencetus untuk melaksanakannya.

3. Penciptaan pencetus

3.1 Sintaksis

Pencetus bertindak pada jadual. Perlaksanaan pencetus dicetuskan semasa merakam, dan anda juga perlu memilih sama ada pencetus dilaksanakan sebelum atau selepas pernyataan sisipan dilaksanakan.

  • untuk setiap baris menunjukkan bahawa setiap kali acara (masukkan, kemas kini atau padam) dilaksanakan, pencetus akan dicetuskan
CREATE TRIGGER 触发器名称 
{BEFORE|AFTER} {INSERT|UPDATE|DELETE} ON 表名 
FOR EACH ROW 触发器执行的语句块;

Penerangan:

  • 表名: Menunjukkan objek yang dipantau oleh pencetus.

  • BEFORE|AFTER: Menunjukkan masa pencetus. SEBELUM bermaksud pencetus sebelum acara; SELEPAS bermaksud pencetus selepas peristiwa.

  • INSERT|UPDATE|DELETE: Menunjukkan peristiwa yang dicetuskan.

    • INSERT bermaksud mencetuskan apabila rekod dimasukkan;
    • KEMASKINI bermaksud mencetuskan apabila rekod dikemas kini;
  • : Ia boleh menjadi satu pernyataan SQL atau blok pernyataan majmuk yang terdiri daripada struktur BEGIN...END.

    触发器执行的语句块

  • 3.2 Demonstrasi Kes

Sediakan jadual dahulu

Keperluan: Buat pencetus: Buat pencetus bernama before_insert dan sediakan data test_trigger Sebelum memasukkan data ke dalam jadual, masukkan maklumat log before_insert ke dalam jadual data test_trigger_log.
CREATE TABLE test_trigger (id INT PRIMARY KEY AUTO_INCREMENT,t_note VARCHAR(30));CREATE TABLE test_trigger_log (id INT PRIMARY KEY AUTO_INCREMENT,t_log VARCHAR(30));


Penguasaan lengkap pencetus MySQL
Penguasaan lengkap pencetus MySQL4. Lihat pencetus

Lihat pencetus adalah untuk melihat definisi, status dan sintaks pencetus yang telah wujud dalam pangkalan data Maklumat, dsb.
  • Kaedah 1: Lihat takrifan semua pencetus dalam pangkalan data semasa
show triggers\G 注意,在SQLyog中,不能加上\G

Penguasaan lengkap pencetus MySQL

Kaedah 2: Lihat pangkalan data semasa Takrif pencetus dalam
show create trigger 触发器名

Penguasaan lengkap pencetus MySQL

Kaedah ketiga: Soal maklumat pencetus "periksa_gaji_trigger" daripada jadual TRIGGER daripada skema_maklumat perpustakaan sistem
5 Padamkan pencetus
SELECT * FROM information_schema.TRIGGERS;

Pencetus juga merupakan objek pangkalan data dan pencetus juga dipadamkan menggunakan pernyataan drop

Pembelajaran yang disyorkan:
drop trigger if exists 触发器名;
tutorial video mysql

Atas ialah kandungan terperinci Penguasaan lengkap pencetus MySQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:csdn.net. Jika ada pelanggaran, sila hubungi admin@php.cn Padam