在MYSQL中的单个查询中执行由分号分隔的多个语句

时间:2015-04-02 08:51:18

标签: java mysql jdo

我在MySQL中找到了类似这样的代码来进行更新查询:

set @c:=0;
update tablename set fieldname=@c:=@c+1 ;

它运行正常,现在我正在尝试在JDO中实现它。所以我写了这样的代码:

Query query = pm.newQuery("javax.jdo.query.SQL","set @c:=0;  update  tablename set fieldname=@c:=@c+1");

但是我收到了一个错误:

  

您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以便在第1行的'UPDATE tablename set fieldname = @ c:= @ c + 1'附近使用正确的语法

那么在MYSQL更新查询中声明变量的正确语法是什么?

我删除了代码中的set部分,并按照以下方式对其进行了编辑:

 Query query = pm.newQuery("javax.jdo.query.SQL","update  tablename set fieldname=@c:=@c+1");

但后来我收到了这个错误:

  

第254行的“fieldname”列截断了数据

我在我的代码中包含datanucleus.allowMultiQueries=true;,然后它也无效

0 个答案:

没有答案