我正在用这个查询更新我的postgres数据库:
await client.connect();
const statusDeconnect = product.fields.StatusSendDeconnect;
const UserDeconnect = product.fields.UserDeconnect;
console.log('Status to add : ' + statusDeconnect + ' UserId that will deconnect : ' + UserDeconnect);
const updateSend = await client.queryArray`UPDATE userconnectionstatus SET status = ${statusDeconnect} WHERE idconnection = ${UserDeconnect}`;
console.log('User ' + UserDeconnect + ' Has been deconnected');
我得到一个postgres错误,说idconnection列不存在
控制台中的结果:
enter image description here
我的表的Pgadmin页:
enter image description here
2条答案
按热度按时间vxf3dgd41#
您似乎正在尝试使用模板字符串在代码中构建动态SQL查询。查询中的${statusDeconnect}和${UserDeconnect}表达式是您要在运行时绑定到查询的值的占位符。
但是,在执行查询时,您似乎没有为这些占位符提供实际值。这将导致查询失败,因为占位符将不会被替换为所需的值。
要解决此问题,您需要在执行查询时提供statusDeconnect和UserDeconnect占位符的值。通过将这些值作为附加参数传递给client.queryArray函数,可以完成此操作,如下所示:
在此示例中,statusDeconnect与UserDeconnect变量作为附加参数传递给client.queryArray函数,它们得值将用于替换查询中相应得占位符.
我希望这对你有帮助!如果你有任何其他问题,请告诉我。
mm5n2pyu2#
您的
queryArray
函数前后缺少括号。它应该是:编辑:正如在评论中指出的,我不是正确的-括号是不需要的。