Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mencipta Trigger MySQL untuk Memasukkan Data ke dalam Jadual Berasingan?

Bagaimana untuk Mencipta Trigger MySQL untuk Memasukkan Data ke dalam Jadual Berasingan?

DDD
Lepaskan: 2024-11-19 13:56:02
asal
907 orang telah melayarinya

How to Create a MySQL Trigger to Insert Data into a Separate Table?

Cara Memprogramkan Trigger MySQL untuk Memasukkan Baris ke dalam Jadual Lain

Pengenalan:

Pencetus MySQL ialah mekanisme berkuasa yang mengautomasikan tindakan sebagai tindak balas kepada peristiwa pangkalan data. Tindakan yang dicetuskan boleh termasuk memasukkan baris ke dalam jadual lain, yang merupakan keperluan biasa apabila mengekalkan konsistensi data. Artikel ini akan membimbing anda melalui proses mencipta pencetus MySQL untuk memasukkan baris ke dalam jadual lain pada peristiwa tertentu.

LAST_INSERT_ID() dan Storan Data:

  • LAST_INSERT_ID() ialah cara yang cekap untuk mendapatkan semula ID baris terakhir yang dimasukkan. Ia mengembalikan ID baris yang dijana oleh pernyataan pencetus.
  • Anda boleh menyimpan data daripada baris ulasan terakhir yang dimasukkan dalam pembolehubah tempatan dalam badan pencetus. Isytiharkan pembolehubah ini menggunakan pernyataan DECLARE dan tetapkan nilai menggunakan pernyataan SET.

Menggunakan Prosedur Tersimpan:

  • Sementara prosedur tersimpan juga boleh digunakan untuk melaksanakan tugas yang sama seperti pencetus, menggunakan pencetus biasanya lebih disukai untuk automasi berasaskan peristiwa. Pencetus menawarkan kawalan yang lebih baik ke atas peristiwa pangkalan data dan boleh mengurangkan kerumitan kod.

Struktur Pencetus Asas:

Berikut ialah struktur asas pencetus MySQL untuk dimasukkan baris ke dalam jadual lain:
CREATE TRIGGER trigger_name
AFTER/BEFORE INSERT/UPDATE/DELETE ON table_name
FOR EACH ROW
BEGIN
  -- Insert rows into another table using data from the last inserted row.
  INSERT INTO other_table (column1, column2, ...)
  VALUES (new.column1, new.column2, ...);
END
Salin selepas log masuk

Contoh Pelaksanaan:

Andaikan anda mempunyai dua jadual, ulasan dan aktiviti. Apabila ulasan baharu dimasukkan ke dalam jadual ulasan, anda mahu merekodkan ID ulasan dan ID pengguna dalam jadual aktiviti. Berikut ialah pencetus yang sepadan:
CREATE TRIGGER comments_after_ins_trig AFTER INSERT ON comments
FOR EACH ROW
BEGIN
  DECLARE activity_id INT;
  DECLARE user_id INT;

  SET activity_id = LAST_INSERT_ID();
  SET user_id = NEW.user_id;

  INSERT INTO activities (comment_id, user_id)
  VALUES (activity_id, user_id);
END
Salin selepas log masuk

Kesimpulan:

Dengan mengikuti langkah ini, anda boleh memprogramkan pencetus MySQL untuk memasukkan baris secara automatik ke dalam jadual lain berdasarkan peristiwa tertentu. Teknik ini penting untuk mengekalkan ketekalan data dan melaksanakan operasi pengendalian data yang kompleks.

Atas ialah kandungan terperinci Bagaimana untuk Mencipta Trigger MySQL untuk Memasukkan Data ke dalam Jadual Berasingan?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan