做抢激活码功能, 假如有如下一张表
CREATE TABLE `code` (
  `it` int(11) NOT NULL,
  `userID` int(11) NOT NULL,
  PRIMARY KEY (`it`)

1.先查出一个userID为空的记录
2.把此记录的userID修改为当前用户ID
如果产生并发, 两个用户同时读了同一条记录, 最后UPDATE时userID就产生了覆盖, 请问这种方式怎么处理?
PS:去年做的时候用的最高隔离级别serializable, 今天想想这种隔离级别并发不能高, 所以