想象一下,我有一个包含两列的表,该表具有来自两个不同团队的点寄存器,如下所示:
表格:
该表列出了两支球队的关系以及他们在一段时间内完成一个关卡时获得的积分。
两个团队可以在需要时发挥作用,并在完成时更新积分。因此,他们有可能同时更新自己的点列。就像,A团队更新first_team_points,B团队更新second_team_points。
我知道InnoDB具有行级锁定,因此我认为在这种情况下,两个更新将按顺序执行。
我错了吗?我需要配置一些东西吗?第二个更新请求会导致死锁吗?
谢谢!
答案 0 :(得分:1)
请提供评论代码。同时,总的来说...
BEGIN; -- start the transaction
SELECT ... FOR UPDATE; -- if you need to look at something before updating
...
INSERT/UPDATE/etc -- make whatever changes
COMMIT;
有几个问题: