Мне нужно обновить некоторые столбцы меток времени в таблице в базе данных Postgres (8.3).
Мой запрос (упрощенный) выглядит так:
update table1 set dateA = dateA + interval '10 hours' where id = 1234;
Это часть скрипта, и есть много чего обновить, поэтому я предпочитаю использовать переменные связывания, а не каждый раз создавать строку запроса. Это означает, что мой запрос становится:
update table1 set dateA = dateA + interval '? hours' where id = ?;
Когда я делаю это, я жалуюсь, что я предоставил 2 переменные связывания, когда требуется только одна.
Если я попытаюсь поставить ?
вне кавычек:
update table1 set dateA = dateA + interval ? ' hours' where id = ?;
Я получаю:
... syntax error at or near "' hours'"
Похоже, что запрос был интерпретирован как
... dateA = dateA + interval '10' ' hours' ...
Я не могу найти в документации ничего, что могло бы помочь ... какие-либо предложения?
Спасибо