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

Có thể thực hiện ROLLBACK trong trình kích hoạt MySQL không?

Tôi đã phát hiện ra rằng tính năng này tồn tại kể từ MySQL 5.5 và không hoạt động trong các bản phát hành trước đó.

Trình kích hoạt không khôi phục hoặc cam kết. Để bắt đầu bất kỳ khôi phục nào, bạn phải đưa ra một ngoại lệ. Do đó, lệnh chèn / cập nhật / xóa của bạn sẽ bị hủy bỏ. Hành động khôi phục hoặc cam kết phải được đưa ra xung quanh lệnh SQL của bạn.

Để nâng cao ngoại lệ của bạn, trong trình kích hoạt XXX của bạn (ví dụ:):

create trigger Trigger_XXX_BeforeInsert before insert on XXX
for each row begin

    if [Test]
    then

      SIGNAL sqlstate '45001' set message_text = "No way ! You cannot do this !";

    end if ;

end ;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm thế nào để chọn ngẫu nhiên một hàng có tính đến trọng lượng?

  2. Hiển thị hình ảnh đang tải trong khi PHP đang thực thi

  3. Biểu đồ hình tròn HighCharts Các giá trị X-axies không được hiển thị trong khi cố gắng lấy dữ liệu từ cơ sở dữ liệu MySQL bằng PHP

  4. Làm cách nào để lấy một truy vấn SQL thô, đã biên dịch từ một biểu thức SQLAlchemy?

  5. MySQL Chọn Dòng Giá trị Cụ thể Mới nhất