MySQL неправильный вывод с предложением IN и параметром

У меня возникли трудности с запросом в MySQL.

Я работаю с Delphi XE и отправляю запрос с некоторыми параметрами в MySQL. Вот пример запроса:

SELECT * FROM users u WHERE u.id IN (:idUsers);

':idUsers' - это переменная, которая будет получать параметр, который я отправляю с Delphi, а это строка, содержащая вот такой формат, например: 1,2,3

Проблема в том, что с этой строкой я получаю только первого пользователя (id = 1). Из того, что я вижу, это просто как MySQL добавляет некоторые кавычки ('') в начале и в конце строки, которую я отправляю, как если бы это было '1,2,3' вместо 1,2,3. Я пробовал этот select :

SELECT * FROM users u WHERE u.id IN ('1,2,3'); 

и он действительно возвращает только первого пользователя...

У меня была функция в MSSQL, которая разделяла строку, которую я отправлял, и возвращала временную таблицу, но мы недавно перешли на MySQL, и из того, что я читал, MySQL не позволяет возвращать таблицу.

Кто-нибудь знает, как решить эту проблему? Я перерыл весь интернет в поисках ответа и не нашел его для этой конкретной проблемы.

Спасибо за помощь.

5
задан RRUZ 7 December 2011 в 03:00
поделиться