mariadb load data infle-无法读取最后一行

jogvjijk  于 2021-06-25  发布在  Mysql
关注(0)|答案(0)|浏览(286)

我的csv的最后一行是

58,5/3/17,8:30 PM,Jazz L6/7,0,,Thursday,1074,black,

最后一个逗号出现是因为最后一个字段中没有任何内容。但最后一行之后没有回车。
但我犯了个错误 "row 59 doesn't contain data for all columns" 如果我把最后一行改成:

58,5/3/18,8:30 PM,Jazz L6/7,0,,Thursday,1074,black,test

否则我就得坐马车回去。。。会有用的。
以下是生成查询的php代码:

$query = <<<eof
        TRUNCATE TABLE `eventstmp`;
        LOAD DATA INFILE '$target'
        INTO TABLE `eventstmp`
        FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
        LINES TERMINATED BY '\n'
        (EventCode,EventDate,GameTime,TeamName1,Versus, TeamName2, AgeGroup, Photographer, TextDescription, Location);
        delete from `eventstmp` limit 1;
        update `eventstmp` set `EventCode`=lpad(`EventCode`,3,'0');
        update `eventstmp` set `Import`=0 where exists(select 1 from `events` join `vwactiveevent` on '$MainEventID'=`events`.`MainEventID` where `events`.`Eve
ntCode`=`eventstmp`.`EventCode`);
eof;

我在两个不同的数据库上试过,应该是一样的。似乎每个数据库上的eventstmp表的描述都是相同的。每个数据库的sql模式也是相同的。我不知道我错过了什么。
我试过换衣服 'LINES TERMINATED BY' from \n to \r\n. 我也尝试过逃离\所以会是: LINES TERMINATED BY '\\n' 不知道还能尝试什么

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题