如何在MySQL中插入主键列为唯一随机数的新行

如何在MySQL中插入主键列为唯一随机数的新行,mysql,random,unique,insert-into,unique-key,Mysql,Random,Unique,Insert Into,Unique Key,我有一个带有主索引列的表,它是: ID | mediumit8 |无符号零填充|主 我有不同的数据列要插入到表中,在我这样做的同时,我还希望将ID列创建为一个介于1500001和15999999之间的唯一随机数 我已经看到了许多使用MySQL根据表中已经存在的内容选择随机值的方法,但是我还没有找到INSERT INTO查询语句是如何做到这一点的 注: 这个号码变成了一个确认号码,我不想要它 按顺序递增。 我可以通过PHP随机数生成和MySQL测试数字循环的存在性轻松做到这一点 只是想知道是否可以

我有一个带有主索引列的表,它是:

ID | mediumit8 |无符号零填充|主

我有不同的数据列要插入到表中,在我这样做的同时,我还希望将ID列创建为一个介于1500001和15999999之间的唯一随机数

我已经看到了许多使用MySQL根据表中已经存在的内容选择随机值的方法,但是我还没有找到INSERT INTO查询语句是如何做到这一点的

注:


这个号码变成了一个确认号码,我不想要它 按顺序递增。 我可以通过PHP随机数生成和MySQL测试数字循环的存在性轻松做到这一点 只是想知道是否可以通过一个MySQL查询来简化它。 我认识到性能问题的潜在性,但不会有任何问题,因为我的应用程序中的15行中永远不会有999999行 为什么使用随机数? 自动增量应该是解决方案
ID MEDIUMINT NOT NULL AUTO_INCREMENT

为什么要随机生成主键?该数字将成为确认号,我不希望它按顺序递增。您可以单独生成确认号。您仍然需要检查是否存在与唯一性要求的冲突;但是主键应该独立于此。我会使用生成代码并对照数据库解决方案进行检查;为了减少潜在的性能损失,您可以一次生成大量候选项,用作挂起插入的池,并查看在使用之前是否找到了任何候选项。Right@Uussedo-从到目前为止的响应来看,这似乎是不可行的,因此我将编写一个PHP/MySQL Select循环,以查看对我先前关于降低性能问题的评论的编辑成为一个确认号,我不希望它按顺序递增。