Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL中的批量CSV文件导入从CSV导入动态列时删除重复项_Mysql_Sql_Sql Server_Database_Export To Csv - Fatal编程技术网

MySQL中的批量CSV文件导入从CSV导入动态列时删除重复项

MySQL中的批量CSV文件导入从CSV导入动态列时删除重复项,mysql,sql,sql-server,database,export-to-csv,Mysql,Sql,Sql Server,Database,Export To Csv,我必须为我的系统中的不同客户端导入CSV文件,有些客户端与[,]有些客户端与[|]等分离。总是非常大的文件。 导入时,我需要过滤重复记录,重复记录不应插入数据库中 问题是,对于不同的客户端,列可能不同。我有每个客户的CSV数据数据库,我每天、每周或每月根据客户需要导入这些数据。我保存每次导入的数据,以便我们可以生成报告&导入后系统在CSV文件中接收的数据将进行处理 数据结构示例: 客户端1数据库: 名字、姓氏、电子邮件、电话等 95%的数据始终与每个新的CSV文件相同。有些记录是新的&有些记录是

我必须为我的系统中的不同客户端导入CSV文件,有些客户端与[,]有些客户端与[|]等分离。总是非常大的文件。 导入时,我需要过滤重复记录,重复记录不应插入数据库中

问题是,对于不同的客户端,列可能不同。我有每个客户的CSV数据数据库,我每天、每周或每月根据客户需要导入这些数据。我保存每次导入的数据,以便我们可以生成报告&导入后系统在CSV文件中接收的数据将进行处理

数据结构示例:

客户端1数据库:

名字、姓氏、电子邮件、电话等

95%的数据始终与每个新的CSV文件相同。有些记录是新的&有些记录是从csv中删除的。所以我们的系统只处理那些新导入的记录

目前,我们每次都在新表中导入数据。我们用时间戳保留表名,以便跟踪导入。这是一个昂贵的过程,它会复制记录和表。 我在考虑解决办法,我需要你的建议。 每次导入时保留一个表当我在表中导入CSV文件数据时,我将更改现有表添加新列,列名将为“当前日期”(字节或布尔值)在导入时添加true false

我的另一个问题是第一次导入CSV文件时…我需要编写脚本: 导入CSV数据时,若表已存在,则我的日期逻辑将起作用;若表不存在,则应创建给定或提供的表“客户机名称”作为表名。挑战是列,我不知道它应该从CSV文件创建列

表已经存在一些新记录,它应该插入else更新

它在mysql中可以实现吗?? 虽然我也必须为mssql做一些事情,但现在我需要解决我的sql问题


请帮帮我。。。我不擅长MySQL:(

导入每条记录时,您当然可以执行insert或update语句

请看这里:

我建议您创建一个脚本来动态创建您的表,如果它没有

您将使用什么语言插入csv