У меня есть база данных в mysql с 1 таблицей, состоящей из 5 полей. Два из этих полей FLOAT и сгенерированы функцией RAND; теперь я хочу изменить эти значения каждый х раз, например, числовые значения должны меняться каждые 0,01 с для имитации финансового рынка. Есть ли способ сделать это? Благодаря
Если вы все еще хотите сделать это непосредственно в базе данных, это может помочь: Расписание задач с использованием событий в MySQL
Так как кажется, что вы просто тестируете, вы можете сделать это в оболочке script. Что-то вроде этого:
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 ;
Зачем вам нужно изменять эти значения непосредственно в таблице? Это будет огромная нагрузка на базу данных, чтобы обновлять ее каждые 0,01 секунды. Возможно, вы можете сделать это на стороне сервера или, может быть, на событии с Javascript?