MySQL:比较整行

MySQL:比较整行,mysql,triggers,sql-update,Mysql,Triggers,Sql Update,我有一个数据传输工具,可以将信息从一个数据库传输到另一个数据库。每小时它都会对表中的所有行进行更新。我已经有了一个INSERT触发器,可以将该表中的数据转储到许多其他表中。我添加了一个更新触发器来编辑其他表,但这会导致额外的处理,使整个更新过程运行缓慢 我想将UPDATE触发器的主体封装在一个IF语句中,该语句比较新旧行,如果没有任何更改,则跳过处理。有没有可能像这样将整行与另一行进行比较 IF new = old THEN ... 或者,除了单独检查每一列之外,没有其他选择了吗?遗憾的是,没

我有一个数据传输工具,可以将信息从一个数据库传输到另一个数据库。每小时它都会对表中的所有行进行更新。我已经有了一个INSERT触发器,可以将该表中的数据转储到许多其他表中。我添加了一个更新触发器来编辑其他表,但这会导致额外的处理,使整个更新过程运行缓慢

我想将UPDATE触发器的主体封装在一个IF语句中,该语句比较新旧行,如果没有任何更改,则跳过处理。有没有可能像这样将整行与另一行进行比较

IF new = old THEN ...

或者,除了单独检查每一列之外,没有其他选择了吗?

遗憾的是,没有,您需要单独比较每一列。可能不是您希望的答案。

如果这里的问题是速度,我会保存上次编辑的时间戳或校验和

使用后一种方法,如果您有一个包含三行的表,
a
B
C
,我将修改此方案,使其也包含一个新行,
cksum

无论何时插入内容,都会在
cksum
中插入使用快速哈希算法生成的值,例如MD5。这个校验和可以是

checksum = MD5(A + B + C);

这样,每当必须插入内容时,您只需与
cksum
字段进行比较。

您可以尝试从(时间戳列)使用变通方法