繁体   English   中英

KnexJS原始查询无法按预期工作

[英]KnexJS raw query not working as expected

我有以下查询:

SET @count = 0; UPDATE table SET table.id = @count:= @count + 1 WHERE table.name = "name";

如果我通过控制台或诸如Jetbrains Datagrip之类的程序执行它,则它可以完美运行,但是当我通过Knex将其作为原始查询推送时,它会以mysql ER_PARSE_ERROR响应。

我已经做了一些测试,似乎Knex不了解@count是什么。

有任何想法吗? 如果可以使用Knex方法格式化它,我将非常感谢这些提示

我想您可以使用事务承诺来增加count ,将其编写为Knex.js查询:

var count = 0;
knex.transaction(function(trx){
    knex('table')
        .where('name', '=', 'name')
        .update(({
            id: count
        });
})
.then(()=>++count);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM