我有一個歌曲數據庫。每首歌都有一個唯一的ID。如何爲數據庫中的每個id生成隨機唯一值?隨機數據庫ID
例子:
id | song name
1 | song1
2 | song2
3 | song3
洗牌
id | song name
45 | song1
96 | song2
10 | song3
任何想法後?
我有一個歌曲數據庫。每首歌都有一個唯一的ID。如何爲數據庫中的每個id生成隨機唯一值?隨機數據庫ID
例子:
id | song name
1 | song1
2 | song2
3 | song3
洗牌
id | song name
45 | song1
96 | song2
10 | song3
任何想法後?
結合使用FLOOR
和RAND()
可以得到你想要的。
如果在您的數據庫中有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;
是否ID必須是一個整數?如果沒有,你可以考慮使用GUIDS。如果這對你是一個可能性,那麼你得到進一步的信息在這裏遷移您的表: Generate GUID in MySQL for existing Data?
試試這個:
SELECT @nr:[email protected]+1 AS nr, tmp.*
FROM (
SELECT * FROM yourTable ORDER BY rand()
) AS tmp
CROSS JOIN (SELECT @nr:=0) AS parameter
有多少分貝的歌曲? – Matt