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

CẬP NHẬT Cùng một hàng Sau khi CẬP NHẬT trong Trình kích hoạt

Bạn không thể cập nhật các hàng trong bảng trong sau cập nhật trình kích hoạt.

Có lẽ bạn muốn một cái gì đó như thế này:

CREATE TRIGGER `records_integrity` BEFORE UPDATE
ON `records`
FOR EACH ROW
    SET NEW.epc=IFNULL(new.earnings/new.clicks, 0);

CHỈNH SỬA:

Bên trong trình kích hoạt, bạn có quyền truy cập vào OLDNEW . OLD là các giá trị cũ trong bản ghi và NEW là các giá trị mới. Trong một trước đó kích hoạt, NEW giá trị là những gì được ghi vào bảng, vì vậy bạn có thể sửa đổi chúng. Trong một sau kích hoạt, NEW các giá trị đã được ghi sẵn, vì vậy chúng không thể được sửa đổi. Tôi nghĩ rằng tài liệu MySQL giải thích điều này khá tốt.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Điều khoản LIMIT thay thế trong JPQL là gì?

  2. MySQL tương đương STUFF () trong SQL Server là gì?

  3. Phân trang truy vấn tùy chỉnh Cakephp

  4. Bảng kết quả SQL, khớp trong bảng thứ hai Loại SET

  5. Bất kỳ lý do nào để vẫn sử dụng trường hợp rắn cho các bảng và cột cơ sở dữ liệu?