如何使用 NPoco 执行 SQL,而不解释 @ 符号
有个巧妙的技巧,即使用 MySQL 将递增的值加载到一组字段中,如下所示:
UPDATE table set field = (@n := @n + 1)
where (@n := 0) = 0
这会将 1 放入第一行的字段中,将 2 放入第二行,将 3 放入第三行,依此类推。我正在尝试通过 NPoco 执行此操作,因此使用 at 符号加倍对其进行编码:
db.Execute(@"UPDATE table set field = (@@n := @@n + 1)
where (@@n := 0) = 0");
但是,Execute 会引发“必须定义参数 @n”的异常。
有没有办法在不解释 @ 符号的情况下执行此操作?
PS:有意识到在表达式中包含用户变量已被弃用。也许有更好的方法可以在没有用户变量的情况下获得相同的结果?