选择,插入和循环cronjob中的行

时间:2017-12-11 10:36:19

标签: mysql sql

我有一个小赠品桌,我需要在MySQL中使用cronjobs来使其自动化。

giveaways_participants表

这是您参与赠品时添加用户ID的地方。

id    |    user_id    |    giveaway_id
__________________________
 1    |   1           |    4
 2    |   67          |    39

赠品表

所有赠品

id  |  user_id  |  contents  | expires 
__________________________
 1    |   1   |  4,189,45,7  |  1512484213
 2    |   67   |  39  |  1512484213
 3    |   67   |  8,2,645  |  1512484213

广告资源表

用户广告资源

id  |  user_id  |  item_id
__________________________
 1    |   1   |  4
 2    |   67   |  2
 3    |   67   |  7

我希望cronjob每天通过giveaways已过期(已结束),从giveaways_participants中选择一个随机获胜者获取该特定赠品并从contents插入giveaways } inventory作为该用户逗号分隔的每个项目的新行。

如何以最有效的方式实现这一目标?

1 个答案:

答案 0 :(得分:0)

我只想创建一个php页面(如果可能的话),可以从crontab调用,例如php dailyga.php。 该页面会是什么?从赠品表中选择,哪些数据刚刚过期并选择它的ID。然后从您的用户中选择所有ID并随机选择一个ID,然后将库存中的用户ID和赠品ID插入到库存中。
每天早上设置一个cron工作都可以完成工作(或午夜等) 如何挑选过期的赠品?只需选择那些过期日期(即使是一分钟),但是最年轻的 - 或者库存表中没有条目的那个。
希望我帮了一下。