[英]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.