Задать вопрос
@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

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

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

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