我需要让MySQL服务器在客户端断开连接后立即回滚事务,因为每个客户端同时工作.问题可以像这些一样重复(使用innodb表类型)
在客户端A上:
START TRANSACTION;
SELECT MAX(ID) FROM tblone FOR UPDATE;
#... then disconnect your connection to the server
Run Code Online (Sandbox Code Playgroud)
在客户B上:
START TRANSACTION;
SELECT MAX(ID) FROM tblone FOR UPDATE;
#... lock wait time out will occur here
Run Code Online (Sandbox Code Playgroud)
我设置了MySQL的服务器选项,innodb_rollback_on_timeout
并mysql --skip-reconnect
在两个客户端上使用mysql的客户端.我在网络上尝试使用一台服务器和两台客户端.我在SELECT ... FOR UPDATE;
线路后物理断开网络(拔掉电缆).我需要让其他客户端能够立即使用tblone
事务(锁定它,更新它),并且为了实现这一点,我认为服务器应该在客户端A断开连接之后回滚客户端A的事务.
我在使用ASP.NET MVC 4尝试使用时间字段编写表单时遇到了麻烦.
模型:
class Abcde {
[DataType(DataType.Time)]
public DateTime ATime { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
View.cshtml
...
@Html.EditorFor(m => m.ATime)
@Html.ValidationMessageFor(m => m.ATime)
Run Code Online (Sandbox Code Playgroud)
当我尝试输入时间(hh:nn:ss)时,验证总是失败,并说它不是正确的格式,所以我必须输入日期.我的问题是我应该改变类型TimeSpan
吗?或者还有其他方法吗?