如何通过某个日期时间自动将数据插入到mysql中

时间:2014-11-04 03:33:48

标签: mysql sql

我有两张桌子。第一个是inventory_control,第二个是stock。表Inventory_control是记录库存opname仓库和每个收货或调度事件,数据总是更新。 表库存与会计有关。每天00:00,表Inventory_control中的所有数据自动插入表库存。我不知道那个。我在谷歌搜索,我没有找到有用的东西。我了解了触发器,我认为触发器无法提供帮助。拜托,也许任何人都可以给出任何建议。这些是我的表

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);

2 个答案:

答案 0 :(得分:0)

在你的cpanel中,你可以通过运行php脚本文件

来使用cron作业

http://awesomescreenshot.com/0613s35q6c

像这样

php -f /home/your_username/public_html/script.php并调整那里的时间

答案 1 :(得分: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;

但是,如果您希望每晚都运行此功能,则可能需要对此进行编辑,因为此查询会每晚将{{1>}表的所有追加到stock表。这可能会导致大量重复数据。一个更好的查询(假设你有一个inventory_control字段或类似的每个记录)将是:

timestamp

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

编辑:除非配置了MySQL Event Scheduler,否则不会安排事件

EDIT2:请务必查看事件安排的documentation以获取您可以执行的完整列表!