【发布时间】:2016-05-27 21:04:11
【问题描述】:
我有这样的错误
超过锁定等待超时尝试重新启动事务
也许我没听懂。但如果我设置 CommandTimeout=1000 或更高的值,我有一个解决方案。我还没有在生产中尝试过。但我想听听对此的任何意见。
// 40 lines of command.Parameters here
command.Parameters.AddWithValue("sample1", sam1);
command.Parameters.AddWithValue("sample2", sam2);
command.Parameters.AddWithValue("sample3", sam2);
try
{
command.ExecuteNonQuery();
}
catch (MySqlException mex)
{
【问题讨论】:
-
lock 表示行/列/表被锁定 - 这可能是由另一个插入/更新语句引起的
-
@fubo,我该如何解决这个问题?
-
如果每次都出现这个错误,你应该搜索“死锁”——但是不知道语句是不可能回答这个问题的
-
我也有这个问题...但是增加我的 CommandTimeout 并没有解决问题。 CommandTimeout 不同于锁定等待超时。 my.ini 中的“innodb_lock_wait_timeout”设置控制超时时间,默认值为 50 秒。来自:dev.mysql.com/doc/refman/5.7/en/…