如何使用grails更新MySql表中的数据?

时间:2016-07-16 18:14:09

标签: mysql grails

我已经尝试了几天没有成功使用grails更新MySQL数据库中的记录。我总是得到java.sql.SQLException,原因是:

超过锁定等待超时

以下是我正在使用的代码:

def campaignUpdater(id, details){
def dbData = Campaigns.get(id)
if(dbData){
      dbData.totalSent = details.totalSent
      dbData.totalQueued = details.totalQueued
      dbData.totalFailed = details.totalFailed
      dbData.uniqueClickers = details.uniqueClickers
      dbData.opened = details.opened
      dbData.save(flush: true, failOnError: true)
      return true
  }else
    return false
}

我真的需要尽快帮助。

1 个答案:

答案 0 :(得分:0)

如果deadlock并且Lock wait timeout exceeded无法检测到它,或者您的查询运行时间过长,则会导致

Mysql异常。

您可能遇到InnoDB引擎问题。最有可能的是,您需要杀死某些进程才能使查询正常运行。 有关详细信息,请参阅these answers