mysql - 随机播放数据库 ID

标签 mysql sql random

我有一个包含歌曲的数据库。每首歌曲都有一个唯一的 id。如何为数据库中的每个 id 生成随机唯一值?

示例:

id | song name    
1  | song1  
2  | song2  
3  | song3

随机播放后

id | song name    
45 | song1  
96 | song2  
10 | song3  

有什么想法吗?

最佳答案

结合使用FLOORRAND()来得到你想要的。

如果您的数据库中有 1000 首歌曲。

SELECT FLOOR(RAND() * (1 - 1000 + 1)) + 1 AS ID, "song name"
FROM yourtable

如果您的数据库中有 7000 首歌曲。

SELECT FLOOR(RAND() * (1 - 7000 + 1)) + 1 AS ID, "song name"
FROM yourtable

更新..

UPDATE yourtable
SET id = FLOOR(RAND() * (1 - 1000 + 1)) + 1;

关于mysql - 随机播放数据库 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36328170/

相关文章:

javascript - PHP页面: Dropdown always selects the first value

javascript - 如何通过使用 PHP、javascript 和 html 单击从数据库检索的数据来编辑每行属性

php - 如何使用mysql显示下一个日期

java - 打乱数组列表中的元素组

java - 生成大量字母以供将来操作的最佳方法

php - 优化:memcached 与 mysql 内存

php - 无法从 MySQL 获取结果访问 JSON 对象,PHP

sql - 两个 WITH 子句,在第二个中执行 INSERT,但保留第一个的结果

asp.net - 哪些 ASP.NET 命令会导致代码不安全?

algorithm - 我们使用现有的随机函数生成另一个随机函数