我在将数据上传到 mysql 数据库时遇到问题。
数据看起来像这样:
review_id、用户、文本
典型的行如下所示:
12345,SomeCoolName,"this is my "awsome" comment. some more text, and dome more. and some "more""
这应该是我表格中的一行。
由于文本字段中有多行以及使用逗号和括号,我在上传此内容时遇到问题。 关于如何处理这个问题有什么建议吗?
谢谢!
我尝试使用一些我找到的有关将 csv 文件上传到数据库的手册,但没有成功。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
演示示例。
必须导入的源 CSV 内容:
此数据必须导入到的表:
将数据加载到表中的查询:
LOAD DATA INFILE 'C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/test.csv' INTO TABLE test FIELDS TERMINATED BY '\0' ENCLOSED BY '' ESCAPED BY '' LINES TERMINATED BY '\r\n' IGNORE 1 LINES (@line) SET review_id = (@review_id := CASE WHEN @line REGEXP '^\\d' THEN SUBSTRING_INDEX(@line, ',', 1) ELSE @review_id END ), user = (@user := CASE WHEN @line REGEXP '^\\d' THEN SUBSTRING_INDEX(SUBSTRING_INDEX(@line, ',', 2), ',', -1) ELSE @user END ), review_text = (@review_text := CASE WHEN @line REGEXP '^\\d' THEN SUBSTRING(@line FROM 2 + LENGTH(SUBSTRING_INDEX(@line, ',', 2))) ELSE CONCAT_WS(' ', @review_text, @line) END );加载后表格数据状态:
清算:
最终表数据状态: