我想在表中添加一个随机值。虽然我知道如何在一个范围内添加随机整数,但我目前难以理解如何从列表中添加随机选择的项目。
假设我有一个用于IM帐户的MYSQL表。我想用随机数据填充它。
INSERT INTO `im` (`im`, `service`)
SELECT LOWER(`last`), RANDOM-SELECTION-HERE
FROM `contact`;
这个查询应该做的是在IM表中添加联系人的姓氏,并从我给出的数组中随机选择。例如,数组将是:
['AIM', 'ICQ', 'MSN', 'Yahoo', 'GTalk', 'Other']
所以,我想添加用户的姓氏加上数组中的一个随机项。
注意:我知道这完全可以使用PHP,Perl等编程语言,但我并不是想这样做。请尝试使用MYSQL严格执行此操作。
答案 0 :(得分:61)
INSERT INTO `im`
(`im`, `service`)
SELECT LOWER(`last`),
ELT(0.5 + RAND() * 6, 'AIM', 'ICQ', 'MSN', 'Yahoo', 'GTalk', 'Other')
FROM `contact`
答案 1 :(得分:8)
如果您愿意将服务添加到另一个表格中......
INSERT INTO `im` ( `im` , `service` )
SELECT LOWER( `last` ) , (
SELECT `service`
FROM `service`
ORDER BY RAND( )
LIMIT 1
)
FROM `contact`