2

对于我正在开发的多人游戏,我需要能够为玩家创造车辆。每辆车都需要有一个完全独特的车牌。

车辆详细信息存储在名为“车辆”的 MySQL 表中,车牌位于“车牌”列中。我想生成一个与表中的任何内容都不匹配的随机车牌(三个字母数字字符,后跟一个空格,再跟三个字母数字字符)。

不过,我不知道该怎么做。我考虑过使用 while 循环并不断重新生成一个新盘子,直到对该盘子的 SELECT 查询返回 0 行,但这似乎效率低下 - 有更好的方法吗?

4

1 回答 1

3

你的方法应该没问题。该方案中有超过 20 亿个可能的车牌,而数据库只有几千个。因此,重复车牌号的机会将非常小。第一个查询几乎总是会确认车牌号是唯一的,如果不是,第二个查询会。如果您必须进行 3 次查询,我会非常非常惊讶。

可能的车牌数量为:36 6 = 2,176,782,336

于 2013-07-04T18:01:13.720 回答