请稍等 ...
×

采纳答案成功!

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

ShopServiceImpl里添加店铺没加到数据库,然后更新图片地址失败了因为数据库没有找到那个shopId。无法更新然后回滚。

ShopServiceImpl里添加店铺没加到数据库(但effectedNum是1),然后更新图片地址失败了因为数据库没有找到那个shopId。无法更新然后回滚。

正在回答 回答被采纳积分+3

3回答

提问者 慕桂英0057263 2019-03-07 16:02:51

### 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 'area_id=2 

         where shop_id=14' at line 12

老师就是我第一步insertShop成功了但数据没插入到数据库也没报错到了updateShop就报错了

0 回复 有任何疑惑可以回复我~
  • 翔仔 #1
    同学好, 这个错误说的是你的update SQL写错了,有语法错误,请看看你的控制台最终输出的update语句是啥,把他放到mysql客户端去,传入对应参数执行一下,肯定是mapper写错了
    回复 有任何疑惑可以回复我~ 2019-03-08 00:31:15
  • 提问者 慕桂英0057263 回复 翔仔 #2
    老师但我之前单独的testUpdateShop()没问题。
    
    2019-03-08 10:15:49.853 [main] DEBUG com.imooc.o2o.dao.ShopDao.updateShop - ==>  Preparing: update tb_shop SET shop_name=?, shop_desc=?, shop_addr=?, phone=?, shop_img=?, last_edit_time=?, enable_status=?, advice=?, shop_category_id=? area_id=? where shop_id=? 
    2019-03-08 10:15:49.855 [main] DEBUG com.imooc.o2o.dao.ShopDao.updateShop - ==> Parameters: 测试1(String), test1(String), test1(String), 222(String), upload\item\shop\18\2019030810154928285.jpg(String), 2019-03-08 10:15:49.538(Timestamp), 0(Integer), 审核中(String), 1(Long), 2(Integer), 18(Long)
    数据库结果是(0 row(s) affected)。因为之前的insert回滚掉了。就没id=18的那条数据了
    回复 有任何疑惑可以回复我~ 2019-03-08 10:32:12
  • 翔仔 回复 提问者 慕桂英0057263 #3
    同学好,同学可以设置下断点,一步步调试看,看看为什么会insert回滚还执行后面的update?这应该也是不合理的,在同一个事务中呢。。
    回复 有任何疑惑可以回复我~ 2019-03-10 01:23:50
daxuesinian 2019-03-05 14:36:14

我也遇到同样的问题,怎么解决。

0 回复 有任何疑惑可以回复我~
  • 翔仔 #1
    同学好,建议新开一个问题,提供相关的错误信息,咱们来看看,应该跟这个不是同一个问题。可能同学主键没标明。需要设置断点看看插入数据库是否成功,后续是否是图片更新失败导致的回滚。
    回复 有任何疑惑可以回复我~ 2019-03-05 14:56:24
翔仔 2019-02-23 00:59:25

同学好,无法更新然后回滚,这个是什么意思,是说希望回滚还是。。

添加店铺没加到数据库但effectedNum是1理论上是不会出现的,除非是说你添加了,但是在处理图片的时候失败了导致回滚,所以才不会有记录,具体需要设置断点调试一下,主要把断点打在插入数据之后,看看是否报错,然后再打在处理图片即generateThumbnail这个方法里,看看是不是进入到catch了,catch里报什么错,可以拿着错误百度或者贴到这里来解决。一般知道异常就容易了

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信