BIGINT
start TRANSACTION;
select * from devices where device_id >12334 for update;
start TRANSACTION;
select * from devices where device_id >12334 for update;
commit;
END
首先执行上述语句 只执行
start TRANSACTION;
select * from devices where device_id >12334 for update;
不执行commit 也就是不提交事物.
在执行以下语句 会发现如果你使用了索引(主键索引 唯一索引 普通索引)时 当下列的数据在上述语句中出现时,时查询不出来的.需要上述语句执行commit提交事物.
BIGINT
start TRANSACTION;
select * from devices where device_id =12767 for update;
commit;
END
使用此方式可以查看是否会发生死锁,或者查看是行级索还是表级索.
不适用索引时 下方的语句无论是否在上述语句结果集中都会锁 所以时表级锁