Mysql 当上载的文件以分号分隔时,如何处理单元格中的分号?

Mysql 当上载的文件以分号分隔时,如何处理单元格中的分号?,mysql,csv,file-upload,Mysql,Csv,File Upload,我使用load data infile将2gig csv文件上载到mysql中,并收到一些警告,表明当我上载的实际csv文件以分号分隔时,某些单元格包含分号 我想可以选择将分隔符从分号更改为分号,但我无法控制正在使用的导出。不知道如何在没有find replace的情况下执行此操作,find replace显然不起作用,因为它只会替换需要保留在导出到的字段中的分号 以下是我正在使用的: load data infile '/file/path/bigfile.csv' into table

我使用load data infile将2gig csv文件上载到mysql中,并收到一些警告,表明当我上载的实际csv文件以分号分隔时,某些单元格包含分号

我想可以选择将分隔符从分号更改为分号,但我无法控制正在使用的导出。不知道如何在没有find replace的情况下执行此操作,find replace显然不起作用,因为它只会替换需要保留在导出到的字段中的分号

以下是我正在使用的:

load data infile '/file/path/bigfile.csv'  
into table table_name fields terminated by ';'  
LINES TERMINATED BY '\r\n' ignore 1 lines 
(Column1, Column2, Column3, ....);

我想最终的问题是,在使用加载数据填充时,是否可以使用正则表达式作为delimter…在找到这个答案时遇到问题

您必须提及由in LOAD DATA命令分隔的字段:

LOAD DATA LOCAL INFILE 'abc.csv' INTO TABLE abc
FIELDS TERMINATED BY **';'** 
ENCLOSED BY '"' 
LINES TERMINATED BY '\r\n'
以“结尾的字段是您案例中要编辑的主要部分


此外,您可能会将分隔符从分号更改为其他内容。

Hmm..因此,在终止的字段中,我是否可以包含一些正则表达式,以便仅在分号后面不跟xyz时将其视为分隔符?我不想被当作分隔符的分号后面都是xyx。我刚刚粘贴了我在上面使用的内容。在运行此查询之前,您可以使用以下命令更改分隔符:delimiter$$这会避免更改非分隔符的分号吗?您能给我发送一个有关如何执行此操作的链接吗?我想知道具体的方法。如果解决方案替换了所有分号,则我的数据将被损坏。未清除分隔符$$建议。