1

我正在做一个需要后端服务的项目。我正在使用 MySQL 和 php 脚本来实现与服务器端的通信。我想在后端添加一个新功能,那就是能够每天从 table_members 自动生成一个包含 3 个“幸运”成员的表。换句话说,我希望 MySQL 从一个表中选择 3 个随机行并将这些行添加到另一个表中(如果可能的话)。我明白,如果在该表上手动调用 RAND() 函数,我可以实现这一点,但是......会很痛苦!

有什么办法可以实现上述吗?

更新:

在其他用户的评论/建议之后,这是我的解决方案

CREATE EVENT `draw` ON SCHEDULE EVERY 1 DAY STARTS '2013-02-13 10:00:00' ON COMPLETION NOT PRESERVE ENABLE DO 
INSERT INTO tbl_lucky(`field_1`) 
SELECT u_name 
FROM tbl_members 
ORDER BY RAND() 
LIMIT 3

我希望这对其他人有帮助。

4

1 回答 1

1

您可以使用INSERT ... SELECT并选择 3ORDER BY RAND()LIMIT 3

有关 INSERT ... SELECT 语句的更多信息 -请参阅

也可以使用 MySQL事件(从 5.1.6 开始提供)自动执行这项日常工作

于 2013-02-12T23:24:24.357 回答