Rumah >pangkalan data >tutorial mysql >'Kata kunci LAMA dan BAHARU membolehkan kami mengakses lajur dalam baris yang dipengaruhi oleh pencetus.'

'Kata kunci LAMA dan BAHARU membolehkan kami mengakses lajur dalam baris yang dipengaruhi oleh pencetus.'

WBOY
WBOYke hadapan
2023-09-18 23:01:12811semak imbas

Kata kunci LAMA dan BAHARU membolehkan kami mengakses lajur dalam baris yang dipengaruhi oleh pencetus.

Seperti yang kita ketahui dalam definisi pencetus kita boleh merujuk kepada lajur baris yang sedang disisipkan, dikemas kini atau dipadamkan. Begini cara kata kunci LAMA dan BARU membolehkan kami mengakses lajur:

  • Kita mesti menambah nama lajur dengan kelayakan LAMA untuk merujuk nilai dalam baris asal.

  • Kita mesti mendahului nama lajur dengan kelayakan BAHARU untuk merujuk kepada nilai dalam baris baharu.

Kini, LAMA dan BARU mesti digunakan dengan sewajarnya kerana peristiwa itu dicetuskan

Tentukan apa yang dibenarkan −

  • Dalam pencetus INSERT, NEW.column_name mewakili nilai lajur yang akan dimasukkan ke dalam baris baharu. LAMA tidak dibenarkan di sini.

  • Dalam pencetus DELETE, OLD.column_name mewakili nilai lajur dalam baris yang akan dipadamkan. Di sini, BARU tidak dibenarkan.

  • Dalam pencetus KEMASKINI, OLD.column_name dan NEW.column_name masing-masing merujuk kepada nilai lajur dalam baris sebelum dan selepas baris dikemas kini.

Dalam erti kata lain, kita boleh mengatakan bahawa LAMA mesti digunakan dalam cara baca sahaja, manakala BARU boleh digunakan untuk membaca atau menukar nilai lajur.

Gunakan kata kunci LAMA

dalam pencetus

Berikut ialah contoh pencetus PADAM yang menunjukkan cara LAMA digunakan −

mysql> CREATE TRIGGER studentinfo_after_delete
   -> AFTER DELETE
   -> ON student_info
   -> FOR EACH ROW FOLLOWS
   -> BEGIN
   -> DECLARE vuser varchar(30);
   -> SELECT USER() into vuser;
   -> INSERT INTO student_info_deleted(id,deleted_date,deleted_by) VALUES(OLD.id,SYSDATE(),vuser);
   -> END; //
Query OK, 0 rows affected (0.25 sec)

Gunakan kata kunci NEW

dalam pencetus

Berikut ialah contoh pencetus INSERT, menunjukkan cara menggunakan BARU −

mysql> Create Trigger before_inser_studentage BEFORE INSERT ON
student_age FOR EACH ROW
BEGIN
IF NEW.age < 0 THEN SET NEW.age = 0;
END IF;
END //
Query OK, 0 rows affected (0.30 sec)

Atas ialah kandungan terperinci 'Kata kunci LAMA dan BAHARU membolehkan kami mengakses lajur dalam baris yang dipengaruhi oleh pencetus.'. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam