您不必使用 cron。当前版本的 MySQL 支持TRIGGERS
和EVENTS
.
您可以使用 TRIGGER 将数据复制到另一个表。该副本(或任何其他操作)可能由某些事件(如表中的插入、更新或删除)触发。TRIGGER
可以运行任何查询或任何 PL/SQL 代码。
其他选项是EVENT
. 这类似于 MySQL 中内置的内部任务调度程序。它还可以运行查询或任何 PL/SQL 代码,但它是由系统时间触发的(如 Linux Cron)。与 cron 相比,它有很多优点。
PL/SQL 是过程 SQL,具有循环、变量等。
如果您认为自己是“菜鸟”-我可以治愈您。阅读有关 MySQL 的书籍,或者如果你是懒惰的 - 观看一些教程(http : //thenewboston.org,http: //phpacademy.org)。
这里没有人会为你写代码。我们只能修复错误,提供建议等:)
编辑。
事件示例:
-- this is comment in SQL language (line starts with --)
CREATE EVENT event_daily_copy_something
ON SCHEDULE
EVERY 1 DAY
COMMENT 'This text will appear in MySQL Workbench as description of event'
DO
BEGIN
INSERT INTO your_db_name.target_table_name(id, field)
SELECT id, something
FROM your_db_name.source_table_name
WHERE id = 3;
END
表的同步是相当复杂的。我认为您在事件中需要很少的操作。
- 检查新行并复制
- 检查已删除的行并在“复制”表中删除它们
- 检查更改的行(这里源表上的触发器非常有用,因为触发器“知道”编辑了什么行,您可以访问表 1 中的新字段值并使用它们来更新表 2)。
MySQL 教程之一 - thenewboston@youtube。