我已经尝试了几天没有成功使用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
}
我真的需要尽快的帮助。
最佳答案
如果存在deadlock而Lock wait timeout exceeded
无法检测到Mysql
异常,或者您的查询运行时间很长,则可能导致ojit_code异常。
您可能遇到了InnoDB引擎问题。您很可能需要杀死一些进程才能使查询正常运行。
有关更多信息,请参见these answers。