我在mysql中有一个数据库,其中包含1个由5个字段组成的表。 其中两个字段是FLOAT,由RAND函数生成;现在我想每x次更改这些值,例如数值必须每0.01秒更改一次以模拟金融市场。 有办法做这件事吗? 感谢
答案 0 :(得分:0)
为什么需要直接在表格中更改这些值?每0.01秒更新一次,对数据库造成巨大负担。也许你可以在服务器端做,或者用Javascript做事件?
答案 1 :(得分:0)
如果您仍想直接在数据库中执行此操作,则可能会有所帮助: Schedule Tasks using Events on MySQL
答案 2 :(得分:0)
因为听起来你只是在测试,所以你可以在shell脚本中执行此操作。像这样:
while [ true ] do
mysql -sse "update test.rand_table set rand_column = rand();"
sleep 0.01
done
存储过程可能会更有效,因为它可以重用相同的连接:
DELIMITER $$
DROP PROCEDURE IF EXISTS test.UPDATE_RANDOM_TABLE $$
CREATE PROCEDURE test.UPDATE_RANDOM_TABLE ()
BEGIN
WHILE TRUE
DO
update test.rand_Table set rand_column = rand();
select sleep(0.01);
END WHILE;
END $$
DELIMITER ;