我有一个正常的sql insert语句,我试图插入UUID值。我正在使用与对象一起传递的pg-promise命名参数。几个小时我一直在努力解决这个错误。查询格式有什么问题?以下是我用来从Queryfile执行查询的代码。我不确定它是否也会引发错误两次。
源代码
pgdb.one(postgresMapper.Registry.TransactionRequest.insert,{
transaction_request_guid: transactionRequestGuid,
transaction_request_attributes_id: docId.toString(),
})
.then((data) => {
request.app.transaction_id = data.transaction_request_id;
});
其中 postgresMapper.Registry.TransactionRequest.insert 是QueryFile
的Sql
INSERT INTO public.transaction_request (transaction_request_guid,transaction_request_attributes_id,createdon_utc) VALUES(${transaction_request_guid},${transaction_request_attributes_id},CURRENT_TIMESTAMP) RETURNING transaction_request_id
控制台错误
QueryFile {file: “D:\ aud-plugin \ build \ sqls \ insert-transaction-request.sql”选项: { “调试”:真实的, “缩小”:真实的, “压缩”:假的, “noWarnings”:假} 查询:“INSERT INTO public.transaction_request (transaction_request_guid,transaction_reques t_attributes_id,createdon_utc) VALUES($ {} transaction_request_guid $ {transaction_request_attribu tes_id},CURRENT_TIMESTAMP)RETURNING transaction_request_id“} QueryFile {file: “D:\ aud-plugin \ build \ sqls \ insert-transaction-request.sql”选项: { “调试”:真实的, “缩小”:真实的, “压缩”:假的, “noWarnings”:假} 查询:“INSERT INTO public.transaction_request (transaction_request_guid,transaction_reques t_attributes_id,createdon_utc) VALUES($ {} transaction_request_guid $ {transaction_request_attribu tes_id},CURRENT_TIMESTAMP)RETURNING transaction_request_id“} (node:6164)UnhandledPromiseRejectionWarning:未处理的承诺 rejection(拒绝id:4):Ty peError:查询格式无效。 (node:6164)UnhandledPromiseRejectionWarning:未处理的承诺 rejection(拒绝id:6):Ty peError:查询格式无效。
答案 0 :(得分:1)
根据this discussion,您同时使用了多个版本的pg-promise。
您使用一个版本的库创建了QueryFile
个对象,然后尝试使用具有不同版本的对象。由于QueryFile
是一种内部类型,它改变了版本之间的行为,从而在您身边造成了冲突。