Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk Memasukkan Data ke dalam Jadual Lain Menggunakan Pencetus MySQL?

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

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-19 03:51:02831semak imbas

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;

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;

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!

Kenyataan:
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