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
leeyuzhe 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是自增字段 作为号码
|