如何在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 将随机值插入数据库。我会一步一步告诉你,但没有代码。
步骤:
创建 PHP 函数来连接您的数据库(您可以使用关键字搜索 mysqli_connect 进行谷歌搜索)
创建 PHP 函数来处理您的 AJAX 请求并将其保存在数据库中(关键字搜索:mysqli_query)
创建脚本函数(例如:命名为 ajax_query)以发送 AJAX 带有 RAND 函数的请求以生成您想要的随机数。 (你可以阅读这个question)
创建脚本间隔函数以调用函数“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;
您可以在创建事件语句中或稍后在更改事件中指定事件的开始和/或结束时间。
我想在 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 将随机值插入数据库。我会一步一步告诉你,但没有代码。
步骤:
创建 PHP 函数来连接您的数据库(您可以使用关键字搜索 mysqli_connect 进行谷歌搜索)
创建 PHP 函数来处理您的 AJAX 请求并将其保存在数据库中(关键字搜索:mysqli_query)
创建脚本函数(例如:命名为 ajax_query)以发送 AJAX 带有 RAND 函数的请求以生成您想要的随机数。 (你可以阅读这个question)
创建脚本间隔函数以调用函数“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;
您可以在创建事件语句中或稍后在更改事件中指定事件的开始和/或结束时间。