
1 Septembers 2015-05-17 14:02:33 +08:00 TRIGGER? |
2 abelyao 2015-05-17 14:05:17 +08:00 via iPhone 方法有许多,举个例子: 日常在自增记录之后,判断 id 是否属于靓号,是的话把这条记录清空,或者标注特定属性,然后重新自增一条记录给刚刚注册的用户。 |
4 Septembers 2015-05-17 14:27:02 +08:00 触发器啊 注册(insert)的时候 检查ID 是否是 保留用户ID表 中的 如果是ID+1、更新自增+1 |
5 oott123 2015-05-17 14:27:05 +08:00 via Android 可以考虑不使用自增…另外生成一个数字用来当号码 |
6 dorentus 2015-05-17 14:27:26 +08:00 QQ 号不是自增的,大致上是有一个预先生成的号池(生成的时候就剔除了靓号),注册的时候都是从号池里面取号的。 |
7 est 2015-05-17 14:35:04 +08:00 alter table xxxx_table AUTO_INCREMENT = 123123123; |
8 abelyao 2015-05-17 14:42:54 +08:00 @good 连续一两个的话,现在的处理速度不需要担心,而且… 连续太多个的那些真的是靓号吗? 前面有朋友提到预先号码池,这也是一个方案(大多数都使用的方案),但号码池你要预算好自己的注册增长速度,可能得事先产生 10W 甚至 100W 行记录,这个初期来说还不如我说的那种方式。 |
9 ThisDay 2015-05-17 20:46:48 +08:00 数据量不大的花2楼即可 |
10 shuiniushushu 2015-05-17 23:30:36 +08:00 这种需求用自增不好操作。你可以用一个表来生成自增id,这个表记录着上一次自增的状态,姑且叫做max_id表,我就是这样做的 |
12 good OP @shuiniushushu 没太明白你的意思.和号池是一个意思吗? |
13 oott123 2015-05-18 01:14:27 +08:00 via Android @abelyao 其实还真有连续好多个的… 比如 88880000 ~ 88889999 这算是连续一万个了吧… |
14 shenmimu 2015-05-18 11:08:53 +08:00 via iPhone 自增id最好不要有业务含义比较好吧,是不是用一个偏移量表来生成号码比如 偏移量a+id ID是自增字段 作为号码 |