Hành vi này có thể do gây ra thuộc tính kết nối
allowMultiQueries=true
. Tôi đoán là thuộc tính này sẽ làm cho MySQL chia nhỏ các truy vấn trên ;
như một dấu phân tách truy vấn và sau đó thực thi chúng dưới dạng các truy vấn riêng biệt, về cơ bản phá vỡ mã tạo trình kích hoạt của bạn.
Như bạn đã nói trong câu trả lời - hiện đã bị xóa - hãy thêm allowMultiQueries=true
thực sự đã giải quyết được vấn đề (trái ngược với giải thích của tôi), vấn đề thực sự có thể là ;
cuối cùng trong truy vấn của bạn. Vì vậy, một điều khác cần kiểm tra là liệu sự cố có biến mất hay không bằng cách xóa ;
cuối cùng (trong END;
) trong tập lệnh của bạn (và không sử dụng allowMultiQueries=true
). Một số cơ sở dữ liệu không coi là ;
có giá trị ở cuối câu lệnh (vì nó thực sự là dấu phân cách để phân tách các câu lệnh).
(câu trả lời này dựa trên nhận xét của tôi ở trên)