在这个问题上我有点困惑...出于同样的原因,我们使用事务,在应用我们的逻辑和更新数据库中的行之前,我们当然会用LOCK in SHARE模式选择它。但是我的问题是,如果有一个数值的内联更新查询:即:这样可以在不加锁行/使用事务的情况下始终提供准确的值吗如果该查询与事务中的其他逻辑一起使用(对于其他查询来说是“必需的”),该怎么办?
ID|RID|SID|Name 2| 1 | 2 |BetaID是自动递增的唯一的,不是这里的问题。RID是将数据集分组在一起,我需要一种方法来使每个RID‘组’的SID唯一。这种结构是正确的,我预计有人会说“把它分成多个表”,这在这里不是一个选项(这是分类分类)。我有获取下一个值的代码:SELECT IFNULL(MAX(SID),0)+1 AS NextVal FROM t WHERE RID=1,问题是在插入新记录时如何使用该值?