我一直在想如何做到这一点。如果我想对我的所有或许多表进行每周备份,这些表存储了mysql中每天更改的值。我还想用php执行日常函数来更新我的数据库中的更新值。
我在考虑做一个股票投资函数。我有虚构的数据作为各种股票的价值,每个股票的价值每天都会随机变化。
在股票价格曲线的最后9天,可能会出现这样的情况。
CREATE TABLE `stocks` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(40) NOT NULL default '',
`day_1` varchar(40) NOT NULL default '',
`day_2` varchar(40) NOT NULL default '',
`day_3` varchar(40) NOT NULL default '',
`day_4` varchar(40) NOT NULL default '',
`day_5` varchar(40) NOT NULL default '',
`day_6` varchar(40) NOT NULL default '',
`day_7` varchar(40) NOT NULL default '',
`day_8` varchar(40) NOT NULL default '',
`day_9` varchar(40) NOT NULL default '', 如果我可以每天执行一次php函数,生成一个包含最近9天的值的数组。然后只需更改day_1值并使用array_push($array, "new_stock_price");,然后用新的last_9_days值更新db即可。
发布于 2010-08-19 08:45:15
在*nix系统上,使用CRON作业。在Windows上,它是计划任务...两者都将在任何(或特定)日期的给定时间执行脚本。
我推荐一个更好的表格设计:
DROP TABLE IF EXISTS `example`.`stocks`;
CREATE TABLE `example`.`stocks` (
`id` int(10) unsigned NOT NULL auto_increment,
`name` varchar(45) NOT NULL default '',
`stock_value` varchar(40) NOT NULL default '',
`created_date` datetime NOT NULL default CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;这样,如果您想查看给定股票名称的最后9个值,请使用:
SELECT s.name,
s.value,
s.created_date
FROM STOCKS s
WHERE s.name = ?
ORDER BY s.created_date DESC
LIMIT 9发布于 2010-08-19 08:26:12
如果您在Linux / UNIX服务器上,那么可以设置一个"cron job",它可以在指定的时间间隔运行您喜欢的任何命令。该命令可以是使用命令行PHP解释器执行的PHP脚本)。
http://en.wikipedia.org/wiki/Cron
发布于 2010-08-19 08:28:52
https://stackoverflow.com/questions/3517794
复制相似问题