gpt4 book ai didi

c# - 加载数据文件 : can't ignore 1st row while skipping columns?

转载 作者:行者123 更新时间:2023-11-29 00:25:10 24 4
gpt4 key购买 nike

我有一个基本上从 csv 文件读取数据并将其插入 MySQL 数据库的应用程序。

最初一切都很顺利(我的 sql 知识一团糟,但我正在尝试):

LOAD DATA INFILE 'filename.csv' INTO TABLE tablename 
FIELDS TERMINATED BY ';' LINES TERMINATED BY '\r\n' IGNORE 1 LINES

但最近我不得不验证文件中的哪些列将被插入到数据库中,所以我尝试了这样的事情:

LOAD DATA INFILE 'filename.csv' INTO TABLE tablename FIELDS TERMINATED
BY ';' LINES TERMINATED BY '\r\n' IGNORE 1 LINES (@col1,@col2,@col3,@ignore,@ignore)
SET col1= @col1, col2= @col2, col3= @col3

如果我去掉“IGNORE 1 LINES”部分,该命令工作正常,但我不明白为什么这会弄乱其他所有内容。我认为这是一些语法错误,但我尝试了我能想到的一切,但仍然没有任何效果。有人知道吗?

编辑:如果我保留“忽略 1 行”,我会得到“您的 SQL 语法有错误;检查手册 yadda yadda yadda 以在第 1 行的‘忽略 1 行’附近使用。”

为了测试,我使用了一个简单的文件,这里是前 5 行:

col1;col2;col3;col4;col5test;test;test;test;testtest2;test2;test2;test2;test2test3;test3;test3;test3;test3test4;test4;test4;test4;test4

最佳答案

从语法上讲,您的陈述是正确的,应该按预期工作。

mysql> create table tablename     -> (    ->   col1 varchar(32),     ->   col2 varchar(32),     ->   col3 varchar(32),     ->   col4 varchar(32),     ->   col5 varchar(32)    -> );Query OK, 0 rows affected (0.03 sec)mysql> LOAD DATA INFILE '/tmp/filename.csv'     -> INTO TABLE tablename     ->   FIELDS TERMINATED BY ';'     ->   LINES TERMINATED BY '\n' -- I'm on a Mac so I'm using \n instead of \r\n    ->   IGNORE 1 LINES     -> (@col1, @col2, @col3, @ignore, @ignore)     -> SET col1 = @col1, col2 = @col2, col3 = @col3    -> ;Query OK, 4 rows affected (0.01 sec)Records: 4  Deleted: 0  Skipped: 0  Warnings: 0mysql> select * from tablename;+-------+-------+-------+------+------+| col1  | col2  | col3  | col4 | col5 |+-------+-------+-------+------+------+| test  | test  | test  | NULL | NULL || test2 | test2 | test2 | NULL | NULL || test3 | test3 | test3 | NULL | NULL || test4 | test4 | test4 | NULL | NULL |+-------+-------+-------+------+------+4 rows in set (0.00 sec)

既然你遇到了语法错误,我猜问题很可能不在 LOAD DATA 语句本身,而是在你用来构建和执行查询字符串的 C# 代码中.

关于c# - 加载数据文件 : can't ignore 1st row while skipping columns?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19279601/

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