SQLite: привяжите список значений к «WHERE col IN (: PRM)»

все, что я хочу сделать, это отправить запрос типа

SELECT * FROM table WHERE col IN (110, 130, 90);

Итак, я подготовил следующий оператор

SELECT * FROM table WHERE col IN (:LST);

Затем я использую

sqlite_bind_text(stmt, 1, "110, 130, 90", -1, SQLITE_STATIC);

К сожалению, это становится

SELECT * FROM table WHERE col IN ('110, 130, 90');

и бесполезно (примечание две дополнительные одинарные кавычки). Я уже пробовал поставить дополнительные ' в строке, но они ускользают. Я не нашел возможности отключить экранирование или предотвратить заключение текста в одинарные кавычки. Последнее, о чем я могу думать, - это не использовать подготовленный оператор, но я бы выбрал его только как последний вариант. У вас есть идеи или предложения?

Спасибо

Изменить:

Количество параметров является динамическим, поэтому это может быть три числа, как в примере выше, один или двенадцать.

29
задан Sebastian 26 January 2011 в 00:11
поделиться