关于版本保存的问题

插入两条记录A和B,每次插入时字段GROUP_ID=MAX(GROUP_ID)+1,在遇到并发的时候,A和B可能值相同,我应该如何设计保证呢?
例如用悲观锁,是锁整个表么?乐观锁不能应用在此情况吧?还是插入后再判断GROUP_ID有无重复?
谢谢

还有种方式是, 把GROUP_ID 放在缓存, 每次要从缓存中取GROUP_ID,并自动加一的时候要加锁, 这个就避免了数据库锁的情况了

GROUP_ID 设置成自己增长的就可以了

并发频繁吗?
GROUP_ID必须唯一的话,只能锁整个表

你想要的是插入的时候就不重复了,如果在数据库重复了,处理起来更麻烦, 并发不频繁的情况下,锁整个表的方式是最好的