是否可以在MySQL中组合使用alpha元素和数字的自动增量功能?
我有一个现有的系统,其中包括QAb99,QAb101,QAd9003等等。最大数字部分的范围是1到9999,而字母以QA开头,范围从QAa到QAd等,并最终通过QAd9999到QAe1等
管理SQL或SQL之外的新密钥(即php脚本)是否更好?
感谢。
答案 0 :(得分:0)
MySQL自动增量始终为数字。您可以采取几种方法:
您可能已经意识到,您可以将序列转换为数字并返回; 'a'到'z'只有0到250,000;如果你去加倍,那就是260,000。你有base-26系统,乘以10,000。
答案 1 :(得分:0)
我刚才问过这个问题。不幸的是,Mysql没有这样做。我喜欢它,但它没有。在PHP中你可以做到。例如:
public function random_id_gen($length)
{
//the characters you want in your id
$characters = '23456789ABCDEFGHJKLMNPQRSTUVWXYZ';
$max = strlen($characters) - 1;
$string = '';
for ($i = 0; $i < $length; $i++) {
$string .= $characters[mt_rand(0, $max)];
}
return $string;
}