conn = pymysql.connect(...)
lsc = conn.cursor()
lsc.execute("select * from user where uid=%s for update;", (101, ))
lsallrow = lsc.fetchone()
time.sleep(10)
conn.commit()
想写一个事务字段uid是user表的主键,数据库引擎是InnoDB
根据之前学校里学的理解:for update之后,uid=101这行应该是锁上了,无法被编辑。
但在sleep(10)期间,使用另一个终端窗口执行更改用户101的money字段居然可以成功。
那这个for update锁行有什么意义?