Невозможно понять ошибку node-postgres
Используя node-postgres, следующий фрагмент отлично работает:
let shift_solutions = function (ufrom, uto) {
let cmd = 'update solutions set "user" = \''+uto+'\' where "user" = \''+ufrom+'\''
client.query( cmd, null, function (err,rslt) {
... works
но если я изменю вышеизложенное на:
client.query('update solutions set "user" = %2 where "user" = %1',
[ufrom,uto],
function (err,rslt) {
... fails
yields - необработанная ошибка отклонения: синтаксическая ошибка в или около "%".
Я подозреваю, что это может быть как-то связано с тем фактом, что поле пользователя имеет тип 'uuid', но на самом деле не имеет смысла в этом. Параметры поставляются в виде строк:
[ '8e479385-5692-4acc-8dd7-4630480bd17f',
'0cc0832e-1f01-40a9-aaa4-30ae8e56d708' ]
Кто-нибудь может пролить свет на то, что я здесь делаю неправильно? Благодарю.
1 ответ
Решение
Используйте знак доллара для ваших параметров, т.е.
client.query('update solutions set "user" = $2 where "user" = $1'