Bagaimana untuk Mengekalkan Ketekalan Data dengan Pencetus MySQL untuk Acara Sisipan dan Kemas Kini?

Barbara Streisand
Lepaskan: 2024-11-15 00:42:02
asal
916 orang telah melayarinya

How to Maintain Data Consistency with MySQL Triggers for Insert and Update Events?

MySQL Triggers for On Insert and Update Events

Apabila bekerja dengan berbilang jadual, seperti contoh yang diberikan, pencetus boleh digunakan untuk mengekalkan ketekalan data. Dalam kes ini, matlamatnya adalah untuk mengemas kini jadual ext_words_count berdasarkan perubahan pada jadual ext_words.

Untuk mencapai matlamat ini, satu pencetus boleh dibuat untuk mengendalikan kedua-dua acara sisipan dan kemas kini menggunakan pernyataan bersyarat.

Kod Pencetus:

DELIMITER $$
CREATE TRIGGER update_count AFTER INSERT ON ext_words
FOR EACH ROW
BEGIN
  IF NOT EXISTS (SELECT 1 FROM ext_words_count WHERE word = NEW.word) THEN
    INSERT INTO ext_words_count (word) VALUES (NEW.word);
  ELSE
    UPDATE ext_words_count SET word_count = word_count + 1 WHERE word = NEW.word;
  END IF;
END $$
DELIMITER ;
Salin selepas log masuk

Cara Pencetus Berfungsi:

  • Masukkan Acara: Untuk acara sisipan, pencetus menyemak sama ada perkataan yang baru disisipkan wujud dalam jadual ext_words_count. Jika tidak, ia memasukkan perkataan ke dalam jadual dengan kiraan 1.
  • Kemas Kini Acara: Untuk acara kemas kini, pencetus mengemas kini medan word_count dalam jadual ext_words_count untuk perkataan yang dikemas kini. Ia memastikan kiraan ditambah sebanyak 1.

Nota:

  • Pencetus tunggal ini dengan cekap mengurus kedua-dua operasi sisipan dan kemas kini, menghapuskan keperluan untuk berbilang pencetus.
  • Pernyataan bersyarat membenarkan pencetus membezakan antara acara sisipan dan kemas kini serta mengambil tindakan yang sewajarnya.
  • Reka bentuk pencetus memastikan integriti data dengan memasukkan perkataan baharu dan mengemas kini kiraan perkataan dengan betul.

Atas ialah kandungan terperinci Bagaimana untuk Mengekalkan Ketekalan Data dengan Pencetus MySQL untuk Acara Sisipan dan Kemas Kini?. 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