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

Trình kích hoạt Mysql để cập nhật hàng đã chèn

Theo nhận xét :)

Bạn yêu cầu BEFORE INSERT cò súng. Trong trình kích hoạt đó, bạn thay đổi bản ghi trước khi nó được lưu trữ vĩnh viễn. Sử dụng ví dụ của bạn, trình kích hoạt này sẽ được định nghĩa như sau:

DELIMITER $$
CREATE TRIGGER moodle.update_lang
BEFORE INSERT
ON moodle.mdl_user FOR EACH ROW
BEGIN
   SET NEW.lang='hu';
END$$
DELIMITER ;

Lý do bạn không thể sử dụng UPDATE trên cùng một bảng mà trình kích hoạt đề cập đến là vì điều đó có thể (và sẽ) gây ra một vòng lặp vô hạn.

Lưu ý:Tôi chưa thử nghiệm điều này, nhưng theo nhận xét của bạn, nó có vẻ đang hoạt động. Chúc bạn thành công!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL / MySQL - Thứ tự theo độ dài của cột

  2. Hủy truy vấn MySQL khi người dùng hủy bỏ

  3. Mẹo hữu ích để khắc phục sự cố thường gặp trong MySQL

  4. Địa chỉ ràng buộc cấu hình MYSql được đặt thành 0.0.0.0 nhưng netstat hiển thị khác trên Ubuntu

  5. mysql_real_escape_string VS addlashes