2014-11-04 69 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

相關問題