小编Kev*_*Cep的帖子

knex.transactions 中的 knex.raw 和 trx.commit

我刚刚接触 knex,遇到了事务。我认为它很有用,因为它具有回滚功能。尝试使用它(参见下面的代码)

await knex.transaction(trx => {
knex.raw(delete from myTable where "id" = 1 )
  .transacting(trx) 
  .then(trx.commit)
  .catch(trx.rollback) 
})
Run Code Online (Sandbox Code Playgroud)

我只是想删除具有某个 id 的行而已。工作正常,然后我尝试删除“trx.commit”。我原以为它不会应用查询,但它确实应用了。据我了解,如果不调用 trx.commit,查询将不会运行并且不会影响数据库。

我的理解有错吗?我是否在 knex.transactions 中错误地使用了 knex.raw?我没有看到使用原始查询的交易示例。顺便说一句,我已连接到本地主机(postgresql)中的数据库。

javascript knex.js

1
推荐指数
1
解决办法
7985
查看次数

标签 统计

javascript ×1

knex.js ×1