Sử dụng ;
trong một truy vấn đối với hầu hết các cơ sở dữ liệu không hoạt động vì nó thường không phải là một phần của chính cú pháp câu lệnh, mà là một dấu chấm cuối cho dòng lệnh hoặc đầu vào tập lệnh cho các câu lệnh riêng biệt. Dòng lệnh hoặc bộ xử lý tập lệnh xem dấu chấm phẩy là tín hiệu rằng câu lệnh đã hoàn tất và có thể được gửi đến máy chủ.
Cũng trong JDBC, một câu lệnh chuẩn bị (hoặc thực thi) chỉ nên là một câu lệnh thực tế không được phép sử dụng nhiều câu lệnh và do đó cũng không cần phải có dấu chấm phẩy và đối với một số (hầu hết?) cơ sở dữ liệu, dấu chấm phẩy không phải là một phần của cú pháp câu lệnh, nó chỉ đơn giản là một lỗi cú pháp. bao gồm một cái.
Nếu bạn muốn thực thi nhiều câu lệnh, bạn cần sử dụng các lệnh thực thi riêng biệt. Về mặt kỹ thuật, MySQL có một tùy chọn để hỗ trợ nhiều lần thực thi có thể được kích hoạt bởi một thuộc tính kết nối. Hành vi này không tuân thủ đặc tả JDBC / API và làm cho mã của bạn kém di động hơn. Xem allowMultiQueries
trên Tên lớp trình điều khiển / nguồn dữ liệu, Thuộc tính cấu hình và cú pháp URL cho trình kết nối / J