mysql随机值改变

时间:2009-12-16 09:57:19

标签: mysql apache timer random

我在mysql中有一个数据库,其中包含1个由5个字段组成的表。 其中两个字段是FLOAT,由RAND函数生成;现在我想每x次更改这些值,例如数值必须每0.01秒更改一次以模拟金融市场。 有办法做这件事吗? 感谢

3 个答案:

答案 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 ;