如何在mysql中按设定的时间间隔创建随机数?

How to create random numbers at set time interval in mysql?

我想在 Mysql table 中每隔 5 秒插入一个 23 到 31 之间的随机数。

我知道我必须使用 RAND() 功能。但是我不知道如何使用它来按设定的时间间隔插入随机数。

这将为您提供随机数 FLOOR(RAND()*(31-23+1))+23 这将为您提供每 5 秒日期的数据 MOD(SECOND(curdate()) ,5)=0。你可以使用这个 sql -

SELECT
FLOOR(RAND()*(31-23+1))+23
FROM table
WHERE MOD(SECOND(curdate()) ,5)=0 

或者,您可以使用 PHP 文件并使用脚本 timeInterval 和 AJAX 将随机值插入数据库。我会一步一步告诉你,但没有代码。

步骤:

  1. 创建 PHP 函数来连接您的数据库(您可以使用关键字搜索 mysqli_connect 进行谷歌搜索)

  2. 创建 PHP 函数来处理您的 AJAX 请求并将其保存在数据库中(关键字搜索:mysqli_query)

  3. 创建脚本函数(例如:命名为 ajax_query)以发送 AJAX 带有 RAND 函数的请求以生成您想要的随机数。 (你可以阅读这个question

  4. 创建脚本间隔函数以调用函数“ajax_query”

PS: 不要忘记 include/use jQuery 库到你的文件

您可以为此使用事件调度程序:

create table foo (id int primary key auto_increment, value int);
create event insert_random_value_every_5_sec on schedule every 5 second do insert into foo (value) select floor(23+rand()*9) as value;

如果事件调度程序被禁用,您将需要启用它:

set global event_scheduler=on;

您可以在创建事件语句中或稍后在更改事件中指定事件的开始和/或结束时间。