MySQL hiện không hỗ trợ cập nhật các hàng trong cùng một bảng mà trình kích hoạt được gán cho vì cuộc gọi có thể trở thành đệ quy. Có ai có đề xuất về một giải pháp thay thế tốt/thay thế? Ngay bây giờ kế hoạch của tôi là gọi một thủ tục lưu trữ thực hiện logic mà tôi thực sự muốn kích hoạt, nhưng tôi rất thích nghe những người khác đã vượt qua giới hạn này như thế nào.Trình kích hoạt của MySQL không thể cập nhật các hàng trong cùng một bảng mà trình kích hoạt được gán cho. Giải pháp được đề xuất?
Chỉnh sửa: Một chút nền nữa theo yêu cầu. Tôi có một bảng lưu trữ các phân bổ thuộc tính sản phẩm. Khi một bản ghi sản phẩm cha mẹ mới được chèn vào, tôi muốn trình kích hoạt thực hiện chèn tương ứng trong cùng một bảng cho mỗi bản ghi con. Sự không chuẩn hóa này là cần thiết để thực hiện. MySQL không hỗ trợ điều này và ném:
Can't update table 'mytable' in stored function/trigger because it is already used by statement which invoked this stored function/trigger.
Thảo luận dài về vấn đề trên the MySQL forums về cơ bản dẫn đến: Sử dụng một proc đã lưu trữ, đó là những gì tôi đã làm bây giờ.
Cảm ơn trước!
Vui lòng thêm một số chi tiết khác cho câu hỏi của bạn. Bạn đang cố gắng thực hiện những gì trong các bản cập nhật này? –
Bạn đang cố gắng cập nhật các hàng khác với các hàng mà bản cập nhật chèn hoặc xóa chứa? – HLGEM
Bạn đã bao giờ tìm thấy một giải pháp cho điều này? - Tôi cũng cần cập nhật nhiều hàng trong cùng một bảng khi một trong các hàng có một trường duy nhất được cập nhật? – crankshaft