在此SQL语句中找不到错误

时间:2014-07-11 21:09:37

标签: mysql sql

我使用PHP来执行此查询,我收到语法错误,无法确定错误的位置。我在SET命令之间尝试使用逗号或逗号,但仍然会收到此错误。有人能为我发现它吗?我道歉但我无法理解,需要第二眼。

Error during import: LOAD DATA INFILE '/zzz/tmp/php0saZKS' INTO TABLE TD16 FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\r\n' IGNORE 1 LINES (recid,creatorid,@createdate,groupid,fname,minitial,lname,morf,@dateofbirth,homephonenumber,dlnumber,ssnumber,occupation,hoursperweek,address1,city,state,zip,doh,annualsalary,planstartdate) SET createdate = STR_TO_DATE(@createdate, '%m/%d/%Y %H:%i'), SET dateofbirth = STR_TO_DATE(@dateofbirth, '%m/%d/%Y %H:%i'); 

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SET dateofbirth = STR_TO_DATE(@dateofbirth, '%m/%d/%Y %H:%i')' at line 1

1 个答案:

答案 0 :(得分:1)

我相信错误是您在使用逗号时重复SET命令:

LOAD data infile '/zzz/tmp/php0saZKS' INTO TABLE td16 fields terminated BY ',' 
optionally enclosed BY '"' lines terminated BY '\r\n' ignore 1 lines (recid, 
creatorid, @createdate, groupid, fname, minitial, lname, morf, @dateofbirth, 
homephonenumber, dlnumber, ssnumber, occupation, hoursperweek, address1, city, 
state, zip, doh, annualsalary, planstartdate) 

SET
   createdate = str_to_date(@createdate, '%m/%d/%Y %H:%i'),
   dateofbirth = str_to_date(@dateofbirth, '%m/%d/%Y %H:%i'); 

编辑:相关问题:MySQL - Multiple set on LOAD DATA INFILE