Tôi đang gặp khó khăn với truy vấn trong MySQL.Đầu ra sai MySQL với mệnh đề IN và tham số
Tôi đang làm việc với Delphi XE và tôi đang gửi truy vấn với một số tham số đến MySQL. Dưới đây là một ví dụ cho truy vấn:
SELECT * FROM users u WHERE u.id IN (:idUsers);
Các ': idUsers' là biến mà sẽ nhận được thông số tôi gửi với Delphi, mà là một chuỗi chứa được định dạng như thế này, cựu .: 1,2, 3
Vấn đề là với chuỗi này, tôi chỉ nhận được người dùng đầu tiên (id = 1). Từ những gì tôi có thể thấy, nó giống như MySQL đang thêm một số trích dẫn ('') ở đầu và ở cuối chuỗi mà tôi gửi, như thể nó là '1,2,3' thay vì 1,2,3. Tôi đã thử chọn này:
SELECT * FROM users u WHERE u.id IN ('1,2,3');
và nó thực sự trở lại chỉ có người dùng đầu tiên ..
Tôi đã có một chức năng trong MSSQL được tách chuỗi Tôi sended và trả về một bảng tạm thời, nhưng chúng tôi gần đây đã chuyển sang MySQL và từ những gì tôi đọc, MySQL không cho phép trả lại bảng.
Bất kỳ ai cũng có manh mối về cách giải quyết vấn đề này? Tôi đã loại bỏ các trang web cho một câu trả lời và đã không tìm thấy một cho vấn đề cụ thể này.
Cảm ơn sự giúp đỡ.
Bạn có thể dán mã của mình ở đây không? Tôi đã sử dụng truy vấn tương tự và không phát hiện lỗi này bất kỳ lúc nào. – Shirish11