mysql - 如何在MySQL中插入新行,其中主键列是唯一且随机数

标签 mysql random unique insert-into unique-key

我有一个表,其主索引列是:

ID |中型 (8) |无符号填零|主要

我有各种数据列要插入到表中,在执行此操作时,我还希望将 ID 列创建为 1500000115999999< 之间的唯一随机数.

我已经看到了使用 MySQL 根据表中已存在的内容选择随机值的多种方法,但我无法找到 INSERT INTO 查询语句的样子来做到这一点。

注释:

  1. 该号码成为确认号码,但我不想要它 依次递增。
  2. 我可以通过 PHP(随机数生成)和 MySQL 测试数字 LOOP 是否存在来轻松完成此操作
  3. 只是想知道是否可以通过单个 MySQL 查询来简化它。
  4. 我认识到潜在的“性能”问题 - 但不会有任何问题,因为我的应用程序中的 15 行范围永远不会达到 999,999 行

最佳答案

为什么使用随机数?
AUTO_INCRMENT 应该是解决方案
ID MEDIUMINT NOT NULL AUTO_INCRMENT

关于mysql - 如何在MySQL中插入新行,其中主键列是唯一且随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33742300/

相关文章:

java - 用随机数填充我的数组?

javascript - 为什么我的粒子会漂移? (又名 Math.random() 坏了还是我的算法?)

c++ - 如何有效地只保留重复项?

php - 一定要有唯一的数组条目

PHP 从数据库中获取唯一的随机值

mysql - 我可以将另一个方案的查询结果插入到表中吗?

mysql - LOAD DATA LOCAL INFILE 在内部连接更新的情况下生成 null

python - 为什么显示此错误: raise ValueError ("Sample larger than population or is negative") ValueError: Sample larger than population

mysql - MySQL 中表具有不同文件的性能

php - 当他们使用电子邮件登录时从表中获取用户名