使用LOAD DATA INFILE时,是否有办法标记重复的行,或将任何/所有重复项转储到单独的表中?
从LOAD DATE INFILE文档中:
该REPLACE和IGNORE关键字控制处理是唯一键值重复现有行输入行: * 如果指定REPLACE,则输入行将替换现有行。换句话说,主键或唯一索引的值与现有行的值相同的行。请参见第12.2.7节“凌EPLACE语法”。 * 如果指定IGNORE,将跳过在唯一键值上复制现有行的输入行。如果您未指定任何一个选项,则行为取决于是否指定了LOCAL关键字。如果没有LOCAL,则在找到重复的键值时会发生错误,而文本文件的其余部分将被忽略。使用LOCAL时,默认行为与指定了IGNORE相同。这是因为 服务器无法在操作过程中停止文件的传输 。
该REPLACE和IGNORE关键字控制处理是唯一键值重复现有行输入行:
* 如果指定REPLACE,则输入行将替换现有行。换句话说,主键或唯一索引的值与现有行的值相同的行。请参见第12.2.7节“凌EPLACE语法”。 * 如果指定IGNORE,将跳过在唯一键值上复制现有行的输入行。如果您未指定任何一个选项,则行为取决于是否指定了LOCAL关键字。如果没有LOCAL,则在找到重复的键值时会发生错误,而文本文件的其余部分将被忽略。使用LOCAL时,默认行为与指定了IGNORE相同。这是因为 服务器无法在操作过程中停止文件的传输 。
实际上,无法将重复的记录重定向到另一个表。您必须将它们全部装入,然后创建另一个表来保存未重复的记录。