为有关这个主题的多个问题道歉。我试图根据表中的其他列更新一列,但到目前为止,似乎没有任何内容有效。我尝试了updateWhere,然后用rawSQL进行了更新(Ambiguous Type Error When Using RawSql Update),但两者都有问题。
updateWhere不允许其他列的名称(只允许值),因此排除了这一点。
我尝试过使用rawSQL更新,但它会自动扩展所有实体名称,从而破坏更新。如果有办法阻止它展开列名(不放?)不能解决这个问题),这将是完美的工作。例如,如果我这样做:Update table SET X = Y - ? [input values],它会创建UPDATE table.f1, table.f2, etc. SET X = Y - ? [input values]
这是我想作为管理员在后台运行的查询之一,所以我不关心类型安全性。如果有一种方法可以盲目地执行SQL字符串,那么这也是可行的。
我要做的就是:设X= (Y -常数)。如有任何建议,将不胜感激。
谢谢你!
发布于 2013-08-02 06:30:02
我自己还没有试过,但是从阅读模块文档来看,我认为rawExecute是您要寻找的。
您还可以为persistent提交错误报告。我不认为rawSql应该为除了??之外的任何东西做列名扩展。至少,这是文档中的一个遗漏,即使它是期望的行为。
https://stackoverflow.com/questions/18008148
复制相似问题