我想将数据从临时表复制到我的表,但忽略重复项。我用过 INSERT IGNORE INTO $table_name SELECT * FROM $temp_table; 复制命令。上面的工作正常,但我想记录忽略的数据。有可能吗?编辑(来自op的评论):我定义了unique,它与id、name、time三个字段相结合。
INSERT IGNORE INTO $table_name SELECT * FROM $temp_table;
56lgkhnf1#
我不确定是否可以对忽略的行进行日志记录;但是如果你只想知道那些会被忽略的行;您可以在 INSERT IGNORE.. 操作。我们会做一个 JOIN 基于定义的唯一键在两个表之间 $temp_table 已存在于 $table_name :
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
1条答案
按热度按时间56lgkhnf1#
我不确定是否可以对忽略的行进行日志记录;但是如果你只想知道那些会被忽略的行;您可以在
INSERT IGNORE..
操作。我们会做一个
JOIN
基于定义的唯一键在两个表之间$temp_table
已存在于$table_name
: