MySQL:比较整行
我有一个数据传输工具,可以将信息从一个数据库传输到另一个数据库。每小时它都会对表中的所有行进行更新。我已经有了一个INSERT触发器,可以将该表中的数据转储到许多其他表中。我添加了一个更新触发器来编辑其他表,但这会导致额外的处理,使整个更新过程运行缓慢 我想将UPDATE触发器的主体封装在一个IF语句中,该语句比较新旧行,如果没有任何更改,则跳过处理。有没有可能像这样将整行与另一行进行比较MySQL:比较整行,mysql,triggers,sql-update,Mysql,Triggers,Sql Update,我有一个数据传输工具,可以将信息从一个数据库传输到另一个数据库。每小时它都会对表中的所有行进行更新。我已经有了一个INSERT触发器,可以将该表中的数据转储到许多其他表中。我添加了一个更新触发器来编辑其他表,但这会导致额外的处理,使整个更新过程运行缓慢 我想将UPDATE触发器的主体封装在一个IF语句中,该语句比较新旧行,如果没有任何更改,则跳过处理。有没有可能像这样将整行与另一行进行比较 IF new = old THEN ... 或者,除了单独检查每一列之外,没有其他选择了吗?遗憾的是,没
IF new = old THEN ...
或者,除了单独检查每一列之外,没有其他选择了吗?遗憾的是,没有,您需要单独比较每一列。可能不是您希望的答案。如果这里的问题是速度,我会保存上次编辑的时间戳或校验和 使用后一种方法,如果您有一个包含三行的表,
a
、B
和C
,我将修改此方案,使其也包含一个新行,cksum
无论何时插入内容,都会在cksum
中插入使用快速哈希算法生成的值,例如MD5。这个校验和可以是
checksum = MD5(A + B + C);
这样,每当必须插入内容时,您只需与
cksum
字段进行比较。您可以尝试从(时间戳列)使用变通方法