Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

làm thế nào để nhận giá trị từ truy vấn chọn trong trình kích hoạt trong mysql5?

Đối với truy vấn kích hoạt CHÈN, bạn sẽ sử dụng đối tượng MỚI
Đối với truy vấn kích hoạt CẬP NHẬT, bạn sẽ sử dụng đối tượng CŨ và MỚI
Đối với truy vấn kích hoạt DELETE, bạn sẽ sử dụng đối tượng CŨ

>

Ví dụ 1:iF bạn đã chạy INSERT INTO mytable (num) VALUES (10);
Trong trình kích hoạt INSERT, bạn tham chiếu cột là NEW.num (10);

Ví dụ 2:iF bạn đã chạy UPDATE mytable SET num =41 WHERE num =10;
Trong trình kích hoạt UPDATE, bạn tham chiếu OLD.num (10) và NEW.num (41)

Ví dụ 3:iF bạn đã chạy DELETE mytable num =104;
Trong trình kích hoạt DELETE, bạn tham chiếu OLD.num (104)

Sử dụng một cái gì đó như thế này:

DELIMITER $$

create trigger my_trigger
AFTER UPDATE on my_update_table
for each row
begin

    DECLARE P1,P2 VARCHAR(50);

    SELECT PRICENAME INTO P1 FROM PRICEIES WHERE PRICEID=OLD.PRICEID;
    SELECT PRICENAME INTO P2 FROM PRICEIES WHERE PRICEID=NEW.PRICEID;
    INSERT INTO AUDITLOG(OLDVALUE, NEWVALUE) VALUES (P1,P2);

end $$

DELIMITER ;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL:Cách chèn nhiều bản ghi với cùng một ID tự động tăng

  2. Lỗi kết hợp bất hợp pháp của lỗi đối chiếu từ MySql khi chạy bộ thử nghiệm rails

  3. MySQL có sử dụng chỉ mục để sắp xếp không?

  4. Làm cách nào tôi có thể tính số ngày trung bình trong MySQL?

  5. MySQL Sử dụng câu lệnh WHERE để nhắm mục tiêu hàng cụ thể