У меня есть функция, которая возвращает массив из 1-5 целых чисел каждый раз, когда массив длина разная:
[5, 10, 45, 55, 64]
Как мне сгенерировать SQL-запрос на основе длины этого массива?
Пример: если массив состоит из 3 целых чисел, мне понадобится такой запрос, как
Массив: [10, 25, 30]
SELECT * FROM комментарии WHERE id IN($1, $2, $3)
если массив имеет длину 5 целых чисел, мне понадобится:
Массив: [5, 9, 20, 41, 35]
SELECT * FROM comment WHERE id IN($1, $2, $3, &4, &5)
Большое спасибо за ссылку, я не мог понять, как сформулировать свой вопрос, чтобы Google выдал правильный ответ на вопрос.
Встроить часть IN в переменную и прикрепить ее к SQL
Если ваш массив имеет [10, 25, 30]
создайте переменную с помощью v = "$1, $2, $3"
если массив имеет [5, 9, 20, 41, 35]
создайте переменную с помощью v = "$1, $2, $3, $4, $5"
Затем прикрепите его к SQL
SQL = 'SELECT * FROM comments WHERE id IN(v)'
Я думаю, что это дубликат stackoverflow.com/questions/10720420/…. в основном просто присоединяйтесь к параметрам с помощью ',' для предложения in.