我必须编写在registered_security_numbers
. 我知道安全号码的前 6 位数字是1234 11或1234 12,其余 10 位数字是随机生成的。
我有两种可能的解决方案:
编写第二个程序,生成所有可能的安全号码并将它们插入
possible_security_numbers
表中,设置属性free=1
。然后,当我收到注册新安全号码的请求时,我会在possible_security_numbers
表中查询一个随机安全号码,该号码是免费的,并将其插入registered_security_numbers
.每次收到注册安全号码的请求时,我都会从 1234 1100 0000 0000 - 1234 1299 9999 9999
registered_security_numbers
范围内生成随机数,直到获得安全号码,该号码在表格中不存在 并将其插入registered_security_numbers
.
(1) 我不喜欢的方法,因为possible_security_numbers
表将包含数十亿个条目,我不确定它有多好或选择/更新可以运行多快。
(2)我不喜欢的方法,因为如果我在registered_security_numbers
表中有很多记录,从一个范围内生成随机数可能会重复很多次。
我想知道是否有人有其他解决方案或可以评论我的解决方案,这对我来说似乎很糟糕......</p>