我想在mysql中生成6位数的随机数。
例如,
我有一个名为 DATA 的表,列 job_name 和 job_id 。 因此,当用户在 job_name 中插入值时, job_id 的值将是随机和唯一数字,这将是自动存储在数据库中。
我一直在寻找这个,但无法从中得到任何东西。所以,请简要说明你的答案。
答案 0 :(得分:1)
将job_id作为主键,并在数据库中使用Auto Increment。 这样你只需要插入job_name,它就会自动增加名称。 Auto Increment
P.S。这不是随机的,但它不应该是随机的原因吗?否则你必须制作一个不断编写随机数字的脚本,并将它们与数据库进行比较,直到它还没有存在。
如果您真的希望随机选中此post
我真的建议你不要这样做,也许有一天你会用完ids,如果你把它限制在6个字符,就会陷入无限循环。
答案 1 :(得分:0)
在表格中使用2个字段。一个是您的AUTO_INCREMENT
job_id和另一个新字段:job_unique_id
。
您可以使用mysql UUID
函数在该列中插入唯一的随机值。从你的标签看起来你似乎正在使用codeigniter。在codeigniter中,使用以下代码生成唯一标记:
$data = array(
'name' => 'full name'
);
$this->db->set('job_unique_id', 'UUID()', FALSE);
$this->db->insert('my_table',$data);
点击此链接了解详情:http://dev.mysql.com/doc/refman/5.7/en/miscellaneous-functions.html#function_uuid
答案 2 :(得分:0)
尝试此查询
INSERT INTO `DATA`(`job_id`, `job_name`) VALUES (ROUND((RAND() * (999999-100000))+100000),'php developer')