请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

批量更新异常

老师好

         开始报的异常如下,将xml里foreach方法的dept改为sysDept还是报下面的异常

### Error updating database.  Cause: java.sql.SQLException: sql injection violation, multi-statement not allow : UPDATE sys_dept
      SET level = ?
      WHERE id = ?

      改了DruidDataSource配置文件后,不报上面的异常,但是执行批量更新时会出现这个异常,请问要怎么解决?

### Error updating database.  Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'UPDATE sys_dept

      SET dept_level = '0.11'

      WHERE id = 3

     ; 

      U' at line 5

### The error may involve com.permission.dao.SysDeptMapper.batchUpdateLevel-Inline

### The error occurred while setting parameters

### SQL: UPDATE sys_dept       SET dept_level = ?       WHERE id = ?      ;        UPDATE sys_dept       SET dept_level = ?       WHERE id = ?      ;        UPDATE sys_dept       SET dept_level = ?       WHERE id = ?


正在回答

1回答

你好,这是之前其他学员在这里出现过的问题,http://coding.imooc.com/learn/questiondetail/32556.html

我看你目前的报错的位置,是在UPDATE的U这附近有问题,怀疑是分号的问题,你看看你是否使用的中文分号,而不是英文分号(我单独拷贝你的sql里的分号是英文格式的,这弄的我有点不敢完全确定是这个导致的)。如果不是这个问题,可能也需要在db的连接串末尾加上 &allowMultiQueries=true

0 回复 有任何疑惑可以回复我~
  • 提问者 smile_小肥仔 #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2018-08-19 23:44:00
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号