mysql Lock wait timeout exceeded

孙成 2011-12-09 11:51:26
我想一次提交很多条DML语句,这些DML 操作的表有的是 重复的。
按说一个事务里不会有 Lock wait,但是为什么会发生
Lock wait timeout exceeded; try restarting transaction

求解:
...全文
190 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ACMAIN_CHM 2011-12-09
  • 打赏
  • 举报
回复
一个事务中不会有 WAIT LOCK,但此刻其它连接如果LOCK了你需要的表,那当前事务就只能等别人UNLOCK。 如果过长,则会自动放弃锁的请求,从而整个事务回滚。
rucypli 2011-12-09
  • 打赏
  • 举报
回复
你在执行批量dml的时候 别的事务阻塞了你这个dml语句
rucypli 2011-12-09
  • 打赏
  • 举报
回复
你的的sql贴出来看看
孙成 2011-12-09
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 acmain_chm 的回复:]

一个事务中不会有 WAIT LOCK,但此刻其它连接如果LOCK了你需要的表,那当前事务就只能等别人UNLOCK。 如果过长,则会自动放弃锁的请求,从而整个事务回滚。
[/Quote]帮看一下,上面有信息。
孙成 2011-12-09
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 rucypli 的回复:]

你在执行批量dml的时候 别的事务阻塞了你这个dml语句
[/Quote]
确实没其他事务。
只是
mysql> show processlist;
+----+------+----------------+-----------+---------+-------+-------+-----------
------+
| Id | User | Host | db | Command | Time | State | Info
|
+----+------+----------------+-----------+---------+-------+-------+-----------
------+
| 8 | root | localhost:2722 | NULL | Sleep | 80 | | NULL
|
| 9 | root | localhost:2723 | webspider | Sleep | 77 | | NULL
|
| 10 | root | localhost:2724 | webspider | Sleep | 12345 | | NULL
|
| 11 | root | localhost:3082 | webspider | Sleep | 16469 | | NULL
|
| 12 | root | localhost:3590 | webspider | Sleep | 202 | | NULL
|
| 27 | root | localhost:3653 | webspider | Sleep | 452 | | NULL
|
| 34 | root | localhost:3761 | webspider | Sleep | 184 | | NULL
|
| 42 | root | localhost:3850 | webspider | Sleep | 10746 | | NULL
|
| 73 | root | localhost:4465 | webspider | Sleep | 10437 | | NULL
|
| 74 | root | localhost:4468 | webspider | Sleep | 10405 | | NULL
|
| 76 | root | localhost:4636 | webspider | Sleep | 7955 | | NULL
|
| 77 | root | localhost:2692 | webspider | Query | 0 | NULL | show proce
这是 走得不同的端口,还算是在一个事务里吗?

57,062

社区成员

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

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