2014-11-04 74 views
0

我有两个表。第一个是inventory_control,第二个是库存。表Inventory_control记录库存opname一个仓库和每个接收或调度事件,数据总是更新。 表股票与会计相关。每天00:00点,表格Inventory_control中的所有数据都会自动插入到表格库存中。我不知道这一点。我在谷歌搜索,我没有找到有用的东西。我了解了触发因素,我并不认为触发可以提供帮助。请,也许任何人都可以提出任何建议。这些都是我的表如何在某些日期时间自动将数据插入到mysql

CREATE TABLE 'inventory_control' (
'warehouse', varchar(100) unsigned NOT NULL, 
'idItem', int(8) unsigned NOT NULL, 
'Quantity' int(8) unsigned); 


CREATE TABLE 'stock'(
'warehouse', varchar(100) unsigned NOT NULL, 
'idItem', int(8) unsigned NOT NULL, 
'Quantity' int(8) unsigned, 
'value', int(11) unsigned); 

回答

0

在您的cPanel,你可以通过运行PHP脚本文件

http://awesomescreenshot.com/0613s35q6c

这样

PHP -f /家庭/ your_username /的public_html /脚本中使用cron作业.php and ajust the time there

0

我借用this answerthis question,但您可以创建事件:

CREATE EVENT IF NOT EXISTS `daily_event` 
ON SCHEDULE EVERY 00 DAY_HOUR 
COMMENT 'Insert data from inventory_control to stock' 
DO INSERT INTO inventory_control SELECT * FROM stock; 

但是,如果你想运行这个每天晚上,你可能要修改这个,因为这个查询将每天晚上追加所有stockinventory_control表。这可能会导致大量重复数据。一个更好的查询(假设你有一个timestamp场或每个记录的类似的东西)将是:

CREATE EVENT IF NOT EXISTS `daily_event` 
ON SCHEDULE EVERY 1 DAY 
STARTS '2014-11-04 00:00:00' 
COMMENT 'Insert data from inventory_control to stock' 
DO INSERT INTO inventory_control SELECT * FROM stock 
WHERE 'timestamp' BETWEEN CURDATE() - 2 AND CURDATE() - 1; 

这将在每晚午夜运行查询,并且只会增加在过去24小时内创建的记录。

编辑:一定要检查出事件调度的documentation为你能做什么的完整列表:事件不会,除非MySQL的Event Scheduler配置

EDIT2预定!

+0

我明白了。谢谢....:D:D:D – dede 2014-11-04 03:54:17

+0

@Diyah肯定没问题!如果这是你正在寻找的东西,一定要接受答案;) – yiwei 2014-11-04 03:56:09

相关问题