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

mySQL Trigger hoạt động sau khi chèn bảng điều khiển, nhưng không hoạt động sau khi chèn tập lệnh

Tôi nghĩ rằng có nhiều khả năng bạn đang gặp phải lỗi chưa giải quyết hơn là trình kích hoạt không thực thi, đặc biệt là vì nó thực thi thành công từ bảng điều khiển.

Bạn cần cô lập nơi lỗi xảy ra - trong chính trình kích hoạt hoặc trong tập lệnh gọi.

Trong tập lệnh python của bạn, hãy in ra câu lệnh SQL mà python gửi đến MySQL để thực thi nhằm đảm bảo rằng nó được xây dựng như bạn mong đợi - ví dụ:nếu NEW.type không bằng 'PRE', trình kích hoạt sẽ được thực thi, nhưng sẽ không dẫn đến bất kỳ cập nhật nào.

Đồng thời đảm bảo rằng bạn đang kiểm tra lỗi trên phụ trang. Tôi không phải là lập trình viên python, vì vậy tôi không thể cho bạn biết điều đó được thực hiện như thế nào, nhưng cái này dường như là những gì bạn đang tìm kiếm.

Nếu cả hai điều này đều không dẫn bạn đến vấn đề, hãy bình luận toàn bộ if (NEW.type = 'PRE') THEN chặn và thực hiện một sửa đổi đơn giản, chẳng hạn như đặt NEW.type thành 'gỡ lỗi'. Sau khi đảm bảo rằng trình kích hoạt trên thực tế thực thi, hãy kiểm tra lại liên tiếp với nhiều mã thực hơn được thêm vào cho đến khi bạn giải quyết được vấn đề.

Ngoài ra, wrt Marcos nhận xét, tôi sẽ ngạc nhiên nếu tập lệnh không tự động cam kết khi hoàn thành thành công. Thật vậy, tôi sẽ đưa ra tuyên bố này về bất kỳ tập lệnh / ngôn ngữ nào.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. UTF-8 so với mysql Latin1, các chỉ mục không được sử dụng trên utf-8

  2. MySQL:Chọn nhiều hàng chứa giá trị từ một cột

  3. PHP MySQL chọn các hàng ngẫu nhiên

  4. Câu lệnh SQL để thu hút tất cả khách hàng không có đơn đặt hàng

  5. Lược đồ xuất MySql không có dữ liệu