首页 > 解决方案 > 是否可以在 INSERT IGNORE INTO mysql 查询中记录日志忽略数据?

问题描述

我想将数据从 temp_table 复制到我的表中,但忽略重复项。我已经使用INSERT IGNORE INTO $table_name SELECT * FROM $temp_table;命令进行复制。

以上工作正常,但我想记录被忽略的数据。可能吗?

编辑(来自OP的评论):

我已经定义了 unique 并结合了三个字段,例如 id、name、time。

标签: mysql

解决方案


我不确定是否可以对忽略的行进行日志记录;但是,如果您只对知道被忽略的行感兴趣;您可以在操作之前运行以下查询INSERT IGNORE..

我们将JOIN根据定义的唯一键在两个表之间执行一个操作,以获取$temp_table已存在于的行$table_name

SELECT tt.*
FROM table_name t
JOIN temp_table tt
  ON tt.id = t.id AND 
     tt.name = t.name AND 
     tt.time = t.time 

推荐阅读