为了帮助仅传输更改,我建议您在 Access 数据库中添加一个名为 RecordChanges 的新表。
表结构如下:
RecordChangeID (int) - Primary Key (Autonumber)
TableName (varchar(250)) - Name of table that changed
RecordID (int) - ID of the record in that table that was added / modified
RecordAction (char(1)) - 'A' if add, 'M' if modified or 'D' if deleted
注意 - 通过向其中添加用户 ID 和其他详细信息,您可以获得很好的审计跟踪。
这是最痛苦的部分——但我会在您的应用程序中创建一个子例程,以便在您想要与 MySQL 数据库同步的表中每次更改记录时向该表添加一条记录。
完成此操作后,我将创建另一个只有一条记录的表,称为 ExportStatus,其结构如下:
LastRecordChangeID (int) - ID of the last Record Change
you exported in the Record Changes table
然后创建一个子例程来检查自上次导出以来的所有记录更改(您从 ExportStatus 表中检索它)并生成 SQL 语句来更新您的 MySQL 数据库,确保在完成后更新您的 ExportStatus 表。您可以删除所有已成功导出的 RecordChange 记录,或将它们保留为审计跟踪。
在实现此之前,您需要按照当前的方式进行初始同步。