Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Mencegah Sisipan MySQL Berdasarkan Keadaan Menggunakan Pencetus?

Bagaimanakah Saya Boleh Mencegah Sisipan MySQL Berdasarkan Keadaan Menggunakan Pencetus?

Patricia Arquette
Lepaskan: 2025-01-16 18:40:11
asal
283 orang telah melayarinya

How Can I Prevent MySQL Inserts Based on a Condition Using Triggers?

Mencegah Sisipan MySQL dengan Pencetus

Untuk mengelakkan memasukkan baris apabila syarat tertentu dipenuhi, seperti tarikh lahir yang ditetapkan pada masa hadapan , anda boleh membuat pencetus. Begini caranya:

CREATE TRIGGER foo BEFORE INSERT ON table
FOR EACH ROW
BEGIN
  IF NEW.birthdate > CURRENT_DATE() THEN
    SIGNAL SQLSTATE '45000';
  END IF;
END;
Salin selepas log masuk

Membatalkan Sisipan

Untuk membatalkan sisipan dalam pencetus, gunakan sintaks SIGNAL SQLSTATE. Sebagai contoh, untuk menimbulkan ralat apabila tarikh lahir adalah pada masa hadapan, anda akan menggunakan:

SIGNAL SQLSTATE '45000';
Salin selepas log masuk

Ini akan membuang pengecualian takrif pengguna yang tidak dikendalikan dan menghalang sisipan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencegah Sisipan MySQL Berdasarkan Keadaan Menggunakan Pencetus?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan