mysql update 语句:Lock wait timeout exceeded; try restarting transaction

libRA_kin 2010-03-30 10:29:04
我用的是java 的prepareStatement 动态的生成sql语句:

String sql= "update j_summary set sumcont=?,sumtime=? where planId=? and numId=? and sumId=? ";

result = new DBBase().executeUpdate(sql, strs);

这条语句执行时报
java.sql.SQLException: Lock wait timeout exceeded; try restarting transaction


下面是我的数据表结构
CREATE TABLE `j_summary` (
`planId` varchar(20) default NULL,
`numId` varchar(20) default NULL,
`sumId` varchar(20) default NULL,
`sumcont` varchar(20) default NULL,
`sumtime` varchar(20) default NULL
) ENGINE=InnoDB DEFAULT CHARSET=gbk;


请问这是怎么回事?
...全文
709 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
懒得去死 2010-03-30
  • 打赏
  • 举报
回复
检查下,看看是不是针对这个表的独占锁在搞怪!
ACMAIN_CHM 2010-03-30
  • 打赏
  • 举报
回复
从错误提示上看是有其它进程锁住这个表。检查一下看看。
libRA_kin 2010-03-30
  • 打赏
  • 举报
回复
[Quote=引用楼主 libra_kin 的回复:]
我用的是java 的prepareStatement 动态的生成sql语句:

Java code

String sql= "update j_summary set sumcont=?,sumtime=? where planId=? and numId=? and sumId=? ";

result = new DBBase().executeUpdate(sq……
[/Quote]

这个问题也不是每次都出现 ,mysql学的很浅 不知道什么是独占锁 ,以前压根没碰到过...

56,675

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧