84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
3350 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
mysql for update 锁住了一条或多条数据,或者是整个表 如果事务一直没有提交(比如服务器挂掉了)会不会这表数据一直锁在那里
业精于勤,荒于嬉;行成于思,毁于随。
不会。客户端连接断开后,会自动释放锁。
客户端1
set AUTOCOMMIT = 0; BEGIN; SELECT * FROM articles WHERE id=1 FOR UPDATE ;
客户端2
这时,客户端2的查询会卡住。直到客户端1 commit 或 rollback 。但是,如果客户端1直接关闭窗口断开连接,客户端2也能直接拿到锁。说明客户端断开时,会自动释放锁。
commit
rollback
那么问题来了,客户端1断开连接后,是自动 rollback 了吗?
不会。客户端连接断开后,会自动释放锁。
客户端1
客户端2
这时,客户端2的查询会卡住。直到客户端1
commit
或rollback
。但是,如果客户端1直接关闭窗口断开连接,客户端2也能直接拿到锁。说明客户端断开时,会自动释放锁。那么问题来了,客户端1断开连接后,是自动
rollback
了吗?