【问题标题】:Tracking changes manual using timestamps or automatic?使用时间戳手动跟踪更改还是自动跟踪更改?
【发布时间】:2012-07-25 09:02:54
【问题描述】:

我有两个使用 SqlServer 2008 Tracking Changes 的跟踪更改同步的数据库,这很酷,因为我可以毫不费力地控制一个数据库的插入/更新和删除并发送到另一个数据库。目前我正在将系统迁移到 MySQL。是否存在类似于跟踪更改的内容,或者我必须手动实现它。

手动实现这一点是一个好方法,使用时间戳来控制 INSERTS/UPDATES 和触发器来填充删除表来控制 DELETES?

当我说时间戳时,我想说的是 SQLServer 时间戳(在插入、修改寄存器时自动递增的二进制字段。是否存在类似于 MySQL 中的 SQLServer 时间戳的东西?

谢谢

【问题讨论】:

    标签: mysql sql-server synchronization change-tracking


    【解决方案1】:

    是的,您可以使用 MySQL TIMESTAMP 字段监控表中的更改(插入、更新);必须使用 ON UPDATE CURRENT_TIMESTAMP 选项创建 TIMESTAMP 字段。它将帮助您了解记录何时更改。

    例如——

    CREATE TABLE table1(
      id INT(11) NOT NULL,
      name VARCHAR(255) DEFAULT NULL,
      ts TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
      PRIMARY KEY (id)
    );
    

    更多信息在这里 - Automatic Initialization and Updating for TIMESTAMP

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-02
      • 1970-01-01
      相关资源
      最近更新 更多