mysql duplicates with LOAD DATA INFILE(mysql 与 LOAD DATA INFILE 重复)
问题描述
使用 LOAD DATA INFILE 时,是否有办法标记重复行,或将任何/所有重复行转储到单独的表中?
When using LOAD DATA INFILE, is there a way to either flag a duplicate row, or dump any/all duplicates into a separate table?
推荐答案
来自 加载日期 INFILE 文档:
REPLACE 和 IGNORE 关键字控制输入行的处理在唯一键值上重复现有行:
The REPLACE and IGNORE keywords control handling of input rows that duplicate existing rows on unique key values:
- 如果您指定 REPLACE,则输入行将替换现有行.换句话说,主键或唯一索引的值与现有行相同的行.参见第 12.2.7 节,替换语法".李>
- 如果您指定 IGNORE,则会跳过与唯一键值上的现有行重复的输入行.如果您不指定任一选项,则行为取决于是否指定了 LOCAL 关键字.如果没有 LOCAL,则在找到重复键值时会发生错误,并忽略文本文件的其余部分.对于 LOCAL,默认行为与指定 IGNORE 相同;这是因为服务器无法在操作过程中停止传输文件.
实际上,没有办法将重复记录重定向到不同的表.您必须将它们全部加载,然后创建另一个表来保存非重复记录.
Effectively, there's no way to redirect the duplicate records to a different table. You'd have to load them all in, and then create another table to hold the non-duplicated records.
这篇关于mysql 与 LOAD DATA INFILE 重复的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:mysql 与 LOAD DATA INFILE 重复
基础教程推荐
- 使用 VBS 和注册表来确定安装了哪个版本和 32 位 2021-01-01
- MySQL根据从其他列分组的值,对两列之间的值进行求和 2022-01-01
- 从字符串 TSQL 中获取数字 2021-01-01
- while 在触发器内循环以遍历 sql 中表的所有列 2022-01-01
- 带有WHERE子句的LAG()函数 2022-01-01
- CHECKSUM 和 CHECKSUM_AGG:算法是什么? 2021-01-01
- 如何在 CakePHP 3 中实现 INSERT ON DUPLICATE KEY UPDATE aka upsert? 2021-01-01
- MySQL 5.7参照时间戳生成日期列 2022-01-01
- ORA-01830:日期格式图片在转换整个输入字符串之前结束/选择日期查询的总和 2021-01-01
- 带更新的 sqlite CTE 2022-01-01
