gpt4 book ai didi

mysql - 如何从文件加载数据而不重复记录

转载 作者:行者123 更新时间:2023-11-29 16:08:46 25 4
gpt4 key购买 nike

我有一个文本文件,其中包含逗号分隔的字段。文件中的记录可以重复。但是,当我将它们插入数据库时​​,我想插入记录的第一次出现并忽略任何重复的记录(基于第一个字段值,该值应该是唯一的)。

这是我的声明,由于第一个字段的重复值而导致错误,我将其标记为唯一。

LOAD DATA LOCAL INFILE '/var/lib/mysql-files/myfile.txt'
INTO TABLE `scheme`.`mytable` fields terminated BY ',';

最佳答案

您可以使用 loaddata 将行加载到“临时”表中,然后

INSERT INTO targetTable (firstField, ...set of columns...)  
SELECT DISTINCT firstField, ...set of columns...
FROM temp
WHERE firstField NOT IN (SELECT firstField FROM target);

它需要:firstField -> 列集(功能依赖)

或者您可以使用带有 IGNORE 选项的 INSERT(重复时不会出错):

INSERT IGNORE INTO targetTable (firstField, ...set of columns...)
SELECT DISTINCT firstField, ...set of columns...
FROM temp;

或者表架构相同:

INSERT IGNORE INTO targetTable 
SELECT *
FROM temp;

关于mysql - 如何从文件加载数据而不重复记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55481391/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com