我期待根据MySQL数据库生成一个没有重复的随机数。我如何更改以下函数,以便它检查数据库,如果生成的数字已经存在,并且如果不存在,则将其插入到表中。另外,如何布置表格?我不是最好的设计行,使他们尽可能小(和实用)。生成非重复数字,对数据库保持警惕
功能:
function genNonRepNum($min, $max, $quantity) {
$numbers = range($min, $max);
shuffle($numbers);
return array_slice($numbers, 0, $quantity);
}
使用功能:
print_r(genNonRepNum(1000, 10000, 3));
回报:
Array ([0] => 8586 [1] => 9666 [2] => 8169)
这是真棒,但我只希望它检查一个数据库,看看它是否存在,如果没有,就插入它。提前致谢。
使db索引唯一,那么现有数字的任何插入都将失败 –
这可以解决插入它们的问题,但它并不能真正回答我的问题。另外,如果我使用它,我是否必须使用'try'块来插入它们,如果它失败了,或者如果我打电话它会好吗? – Zak
在问题中没有插入,我不知道你的方法 –