我有CSV文件有3列,我的表有4列(其中一列是我想自动增量的id自动增量)。我想将csv中的3列加载到表中选定的3列。
尝试过的代码:
LOAD DATA LOCAL INFILE 'info.csv' INTO TABLE tbl_countryip (ipstart, ipend, countrycode) FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\r\n' ;
抛出错误:
错误1064(42000):您的SQL语法有错误;检查与您的MariaDB服务器版本相对应的手册,以便在'FIELDS TERMINATED BY'附近使用正确的语法,'包含'''在第1行'\ r \ n''终止的行
答案 0 :(得分:2)
按照以下步骤 -
1)连接任何类似sqlyog的gui。
2)选择db>选择表>右键单击表格>选择导入>使用load ...
导入csv数据3)选择除主键之外的所有列。
4)如果你的csv文件包含标题,则将1放在ingnore line选项中。
5)点击导入
如果你想通过命令执行,那么命令应该如下 -
LOAD DATA LOCAL INFILE 'info.csv' INTO TABLE tbl_countryip FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\r\n' (ipstart, ipend, countrycode);
注意:如果您的相关目录不在csv文件的位置,那么您需要提供完整路径。
如果您的csv文件包含标题行,则需要按以下方式将其排除 -
LOAD DATA LOCAL INFILE 'info.csv' INTO TABLE tbl_countryip FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\r\n' IGNORE 1 LINES (ipstart, ipend, countrycode);
答案 1 :(得分:2)
列的列表位于语句中的错误位置。请遵循文档中的语法。
你想要这样的东西:
LOAD DATA LOCAL INFILE 'info.csv'
INTO TABLE tbl_countryip
FIELDS TERMINATED BY ',' ENCLOSED BY '"'
LINES TERMINATED BY '\r\n'
(ipstart, ipend, countrycode)
答案 2 :(得分:0)
我从表中删除了id列,因此table和csv文件都有3列,然后运行load csv命令,然后使用autoincrement将id列插入到表中。