我有一个应用程序,它基本上从 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”部分,该命令可以正常工作,但我不明白为什么这会影响其他所有内容。我认为这是一些语法错误,但我尝试了我能想到的一切,但仍然没有任何效果。有人有线索吗?
编辑:如果我保留“IGNORE 1 LINES”,我会收到“您的 SQL 语法有错误;请检查手册 yadda yadda yadda 以在第 1 行的 'IGNORE 1 LINES' 附近使用。”
为了测试,我使用了一个简单的文件,这里是前 5 行:
col1;col2;col3;col4;col5 测试;测试;测试;测试;测试 测试2;测试2;测试2;测试2;测试2 测试3;测试3;测试3;测试3;测试3 测试4;测试4;测试4;测试4;测试4