0
我正在创建一个笔记记录应用程序。我想通过检索user_id中的音符ID(1或2或3等)来检索音符。 例如,我想从用户1中检索笔记3,并从用户2中检索笔记3,但我希望笔记编号能够为每个用户自动递增。部分自动递增
我正在创建一个笔记记录应用程序。我想通过检索user_id中的音符ID(1或2或3等)来检索音符。 例如,我想从用户1中检索笔记3,并从用户2中检索笔记3,但我希望笔记编号能够为每个用户自动递增。部分自动递增
如果您的应用程序不必处理大量并发的(只有同一用户的一个实例是在网上任意给定时间),那么这个简单的解决方案会工作得很好:
SELECT max(note_id) + 1 AS new_id
FROM notes
WHERE user_id = $user_id;
请务必在表notes
或(user_id, note_id)
上有user_id
的索引,以便快速查找。
在查询之前锁定tabel,MAX()对每个人都是一样的!当有任何形式的并发可能和/或正在发生时,这不起作用。全部完成后,解锁桌子。 – 2011-12-14 08:46:33