Bagaimana untuk Memasukkan Data ke dalam Jadual Lain Menggunakan Pencetus MySQL?

Mary-Kate Olsen
Lepaskan: 2024-11-19 03:51:02
asal
832 orang telah melayarinya

How to Insert Data into Another Table Using MySQL Triggers?

Pengaturcaraan Pencetus MySQL: Memasukkan ke dalam Jadual Lain

Pencetus MySQL menawarkan mekanisme yang berkuasa untuk mengautomasikan tugas atas tindakan pangkalan data tertentu. Ini amat berguna untuk mengekalkan ketekalan data dan melaksanakan operasi yang kompleks.

Memasukkan ke dalam Jadual Lain

Untuk memasukkan baris ke dalam jadual lain apabila satu baris dimasukkan ke dalam jadual tertentu, anda boleh menentukan pencetus selepas sisipan. Begini cara untuk melakukannya dalam MySQL:

CREATE TRIGGER trigger_name
AFTER INSERT ON table_name
FOR EACH ROW
BEGIN
  -- Insert data into another table
  INSERT INTO other_table (column1, column2, ...)
  VALUES (NEW.column1, NEW.column2, ...);
END;
Salin selepas log masuk

Menjawab Soalan Anda

  • LAST_INSERT_ID(): Ya, LAST_INSERT_ID() biasanya digunakan untuk mendapatkan semula ID baris terakhir yang disisipkan.
  • Menyimpan Data Baris Terakhir Disisipkan: Anda boleh mengakses data daripada baris ulasan yang terakhir disisipkan menggunakan jadual pseudo BAHARU. Ia mengandungi nilai untuk lajur baris yang disisipkan.
  • Prosedur Tersimpan: Prosedur tersimpan boleh digunakan bersama dengan pencetus, tetapi ia tidak diperlukan untuk tugas khusus ini.
  • Struktur Pencetus: Struktur asas pencetus selepas sisipan ditunjukkan di atas. Anda boleh menentukan nama unik untuk pencetus, jadual yang digunakan padanya dan tindakan yang perlu dilakukan untuk setiap baris yang disisipkan.

Contoh

Pertimbangkan contoh berikut:

CREATE TABLE comments (
  comment_id INT NOT NULL AUTO_INCREMENT,
  user_id INT NOT NULL,
  PRIMARY KEY (comment_id)
);

CREATE TABLE activities (
  activity_id INT NOT NULL AUTO_INCREMENT,
  comment_id INT NOT NULL,
  user_id INT NOT NULL,
  PRIMARY KEY (activity_id)
);

CREATE TRIGGER comments_after_insert
AFTER INSERT ON comments
FOR EACH ROW
BEGIN
  -- Insert into the activities table
  INSERT INTO activities (comment_id, user_id)
  VALUES (NEW.comment_id, NEW.user_id);
END;
Salin selepas log masuk

Pencetus ini akan memasukkan baris secara automatik ke dalam jadual aktiviti apabila satu baris dimasukkan ke dalam jadual ulasan, memastikan tindakan dilog seperti yang dikehendaki.

Atas ialah kandungan terperinci Bagaimana untuk Memasukkan Data ke dalam Jadual Lain Menggunakan Pencetus MySQL?. 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