无法使用 pg 将行插入到蟑螂数据库中



我有一个AWS Lamda函数,它获取一些计算数据,然后应该将其插入Cockratch中的表中。我可以创建表,但不能向其中添加行。

这是我代码的pg部分:(我最终会使用池,但连接是为了测试,应该可以做到(:

同样值得注意的是,我的查询看起来与nodepostgres的示例以及蟑螂的文档中的查询完全相同。

const dbClient = new Client("omitted but it works")
try {
await dbClient.connect()
await dbClient.query(`CREATE TABLE IF NOT EXISTS outputs(user_id STRING NOT NULL, date_created TIMESTAMPTZ, date_modified TIMESTAMPTZ, content STRING NOT NULL, image_url STRING NOT NULL)`)
await dbClient.query(`INSERT INTO outputs(
user_id, 
content, 
image_url) 
VALUES(
$1,
$2,
$3    
)`,
[
userID,
response.results.choices[0].text,
response.imageResponse[0].url, 
])
} catch (e) {
} finally {
dbClient.end()
}
}

显然,我不明白pg/node postgres是如何处理动态值的。我必须安装并使用pg格式,以便安全地使用动态值。这里有一个例子:

const date = new Date()
await dbClient.query(`CREATE TABLE IF NOT EXISTS outputs(_id STRING PRIMARY KEY, user_id STRING NOT NULL, date_created TIMESTAMPTZ, date_modified TIMESTAMPTZ, content STRING NOT NULL, image_url STRING NOT NULL)`)
const query = format(`INSERT INTO tablename (
_id,
user_id,
date_created,
content, 
image_url) 
VALUES(
%L,
%L,
%L,
%L,
%L
)`,
response.id,
userID,
date.toISOString(),
response.choices[0].text,
response.url

最新更新