Задать вопрос
@DiIce

Как корректно сделать запрос с оператором IN в PGSQL?

Суть проблемы. Есть код:

$ids = array(123, 321, 456, 654);
\model\table::exec("UPDATE words SET status = 0 WHERE id IN (?);", implode(',', $ids));
база - постгресс, язык - php
библиотека - активрекорд

при выполнении такого кода выдает ошибку не верное значение для поля id
поле id - int8, в массиве $ids исключительно int

что я делаю не так и как сделать правильно?
спасибо!
  • Вопрос задан
  • 188 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
@krypt3r
php.net/manual/ru/pdostatement.execute.php
Пример №5. Выполнение подготовленного запроса с использованием массива для IN выражения
Ответ написан
Комментировать
Melkij
@Melkij
PostgreSQL DBA
Покажите SQL, а не как вы его генерируете.
Скорей всего IN ('123,321,456,654'), что, конечно, числом не является. Вопрос не имеет отношения к pg и имеет только к вашей библиотеки доступа, как подставить в in список значений.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы