mysql与LOAD DATA INFILE重复

mik*_*ike 1 mysql sql database duplicates load-data-infile

使用LOAD DATA INFILE时,有没有办法标记重复行,或将任何/所有重复项转储到单独的表中?

OMG*_*ies 14

LOAD DATE INFILE文档:

REPLACE和IGNORE关键字重复的唯一键值的现有行输入行的控制处理:

  • 如果指定REPLACE,则输入行将替换现有行.换句话说,主键或唯一索引的值与现有行的值相同.请参见第12.2.7节"REPLACE语法".
  • 如果指定IGNORE,则会跳过复制唯一键值上现有行的输入行.如果未指定任一选项,则行为取决于是否指定了LOCAL关键字.如果没有LOCAL,则在找到重复键值时会发生错误,并忽略文本文件的其余部分.使用LOCAL时,默认行为与指定IGNORE时的行为相同; 这是因为服务器无法在操作过程中停止传输文件.

实际上,没有办法将重复记录重定向到不同的表.您必须将它们全部加载,然后创建另一个表来保存非重复记录.