我的网站是学校网站。
老师每天从“学生”表中选择一名随机学生,然后在“随机数”表中对其进行更新。
现在,我正在尝试其他方法来简化此操作。
我希望表格“随机数”在没有老师的情况下每小时自动更新。
这意味着“学生”表中的随机学生每小时都会在“随机数”表中进行更新。
有人知道该怎么做吗? 非常感谢!
答案 0 :(得分:0)
这是在mysql中完成的方式。
CREATE EVENT update_random
ON SCHEDULE EVERY 1 HOUR
COMMENT 'Updates Random Table with Student from Student Table every hour'
DO
BEGIN
UPDATE TABLE random SET student = (SELECT student FROM student ORDER BY RAND() LIMIT 1);
END
如果您在使用https://dev.mysql.com/doc/refman/5.7/en/events-configuration.html时遇到任何问题,可以在mysql文档中找到一些禁用事件调度程序的进一步信息
答案 1 :(得分:-1)
如果您有权访问主机,则可以使用cron
对执行任务的查询进行编程(假设您使用的是Linux)。查询应类似于:
set @student = select name from student order by rand() limit 1;
update table randoms set student=@student;
您可以在控制台crontab -e
中创建发出cron任务,并添加如下代码:
0 */1 * * * mysql -u<user> -p<password> -D <database> -e "<sql command in one line>"
这将每小时执行一次查询。如果您希望每2个小时或更长时间执行一次,只需将*/1
替换为所需的时间。如果您使用的是Windows,则还可以使用“任务计划程序”运行sql。