我现在想知道如何做到这一点。如果我想每周备份我的所有或许多表,这些表存储了每天在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值更新数据库。
答案 0 :(得分:5)
如果您使用的是Linux / UNIX服务器,则可以设置“cron作业”,它可以按指定的时间间隔运行您喜欢的任何命令。此命令可以是使用命令行PHP解释器执行的PHP脚本。)
答案 1 :(得分:1)
在* 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
答案 2 :(得分:0)