加了for update,其他事务连查询都会阻塞。
accout表
id | username | balance |
---|---|---|
1 | 1 | 1 |
2 | 22 | 2 |
3 | 3 | 3 |
在窗口一执行
SET autocommit = 0;
SELECT
*
FROM
`account`
WHERE
id = 1 FOR UPDATE;
结果
id | username | balance |
---|---|---|
1 | 1 | 1 |
切换到,窗口二
SET autocommit = 0;
SELECT
*
FROM
`account`
WHERE
id = 1 FOR UPDATE;
COMMIT;
结果,发现阻塞
SET autocommit = 0
> OK
> 时间: 0s
SELECT
*
FROM
`account`
WHERE
id = 1 FOR UPDATE
切回窗口一
COMMIT;
切回窗口二:发现查询出来了
COMMIT;
id | username | balance |
---|---|---|
1 | 1 | 1 |