Rumah > Artikel > pangkalan data > Mari kita bincangkan tentang pencetus pangkalan data MYSQL
Artikel ini membawa anda pengetahuan yang berkaitan tentang mysql, yang terutamanya memperkenalkan isu berkaitan tentang pencetus, termasuk apakah pencetus, cara mencipta pencetus dalam pangkalan data, dan pencetus Mari kita lihat sama ada peranti boleh menggantikan kunci asing Saya harap ia akan membantu semua orang.
Pembelajaran yang disyorkan: tutorial video mysql
Konsep: Pencetus ialah kaedah yang disediakan oleh pelayan SQL kepada pengaturcara dan penganalisis data untuk memastikan integriti data Ia berkaitan dengan peristiwa jadual tidak dipanggil oleh program atau dimulakan secara manual, tetapi dicetuskan oleh peristiwa Contohnya, apabila jadual dikendalikan (masukkan, padam, kemas kini), pelaksanaannya diaktifkan. Pencetus sering digunakan untuk menguatkuasakan kekangan integriti data dan peraturan perniagaan. Pencetus boleh didapati dalam kamus data DBA_TRIGGERS dan USER_TRIGGERS. Pencetus SQL3 ialah pernyataan yang boleh dilaksanakan secara automatik oleh sistem untuk mengubah suai pangkalan data.
Contoh 1: Buat jadual pengguna (ID pengguna, nama pengguna) dan buat pencetus (apabila data dimasukkan ke dalam jadual pengguna, ID unik global dijana secara automatik)
Buat jadual pengguna dahulu
create table user( id int PRIMARY KEY, name varchar(20) );
Buat pencetus
-- 建立触发器名为tt create TRIGGER tt -- 触发条件,向user表中插入数据时启动触发器 BEFORE insert on user -- 检查表中每一行,对新插入的数据进行操作 for EACH ROW -- 执行操作 BEGIN set new.id=UUID(); END
Pencetus baru sahaja dibuat (lihat kod menunjukkan pencetus semua pencetus di bawah pangkalan data semasa)
Kesan: Masukkan tiga nama pengguna ke dalam jadual dan jana tiga secara automatik ID
insert user(name) VALUE('张三'),('李四'),('王五')
Contoh 2: Cipta jadual pesanan DD (ID pesanan, nama produk, ID pengguna) dan buat pencetus tq1 (apabila Apabila a pengguna dipadamkan, pesanan pengguna juga akan dipadamkan)
Buat jadual
create table DD( ddid int PRIMARY KEY, ddname VARCHAR(20), userid VARCHAR(50) )
Buat pencetus
delimiter $ -- 建立触发器名为tq create TRIGGER tq1 -- 触发条件,再dd表删除数据之后启动触发器 AFTER DELETE on user -- 检查表中每一行,对新插入的数据进行操作 for EACH ROW -- 执行操作 BEGIN DELETE FROM dd WHERE old.id=userid; END $ delimiter ;
Tambahkan dua keping data pada jadual
Kesan: Padamkan jadual pengguna Untuk pengguna, pencetus juga boleh memadam rekod dalam jadual dd
Padam Zhang San
delete from user WHERE name='张三'
Ringkasan: Pencetus boleh menggantikan kunci asing dalam beberapa kes, tetapi tidak dalam semua situasi. Kekunci dan pencetus asing juga boleh digunakan bersama
Pembelajaran yang disyorkan: tutorial video mysql
Atas ialah kandungan terperinci Mari kita bincangkan tentang pencetus pangkalan data MYSQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!