Syntax error LOAD DATA LOCAL INFILE
working with MySQL: mysql Ver 14.14. Distribution 5.6.24, for debian-linux-gnu (x86_64) using EditLine skins
I am trying to do a LOAD DATA LOCAL INFILE job to run twice a day. I find it very difficult to sort my syntax. I currently have this:
#!/bin/bash
mysql --user=dbuser --password="dbuserpassword" --database=DSDB --local-infile --execute "
LOAD DATA LOCAL INFILE '/mnt/hqsccm/TSReport.CSV'
INTO TABLE temptable
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\r\n'
(@compname,@imgdate,@imgname,@imgsttime,@imgendtime,@tottime,@engname,@engemail) set ComputerName=@compname,ImagingDate=@imgdate,ImageName=@imgname,ImageSTartTime=@imgsttime,ImageEndTime=@imgendtime,TotalTime=@tottime,EngineerName=@engname,EngineerEmail=@engemail;
TRUNCATE HQSCCMmachines;
INSERT INTO HQSCCMmachines (ComputerName,ImagingDate,ImageName,ImageSTartTime,ImageEndTime,TotalTime,EngineerName,EngineerEmail)
SELECT (ComputerName,ImagingDate,ImageName,ImageSTartTime,ImageEndTime,TotalTime,EngineerName,EngineerEmail)
FROM temptable
TRUNCATE temptable;
"
And I keep getting the following:
ERROR 1064 (42000) at line 11: 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 'temptable' at line 5
reference
+3
source to share
1 answer
This should work (if file and table exist) -
LOAD DATA LOCAL INFILE '/mnt/hqsccm/TSReport.CSV'
INTO TABLE temptable
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\r\n'
(@compname,@imgdate,@imgname,@imgsttime,@imgendtime,@tottime,@engname,@engemail) set ComputerName=@compname,ImagingDate=@imgdate,ImageName=@imgname,ImageSTartTime=@imgsttime,ImageEndTime=@imgendtime,TotalTime=@tottime,EngineerName=@engname,EngineerEmail=@engemail;
TRUNCATE HQSCCMmachines;
INSERT INTO HQSCCMmachines (ComputerName,ImagingDate,ImageName,ImageSTartTime,ImageEndTime,TotalTime,EngineerName,EngineerEmail)
SELECT ComputerName,ImagingDate,ImageName,ImageSTartTime,ImageEndTime,TotalTime,EngineerName,EngineerEmail
FROM temptable;
TRUNCATE temptable;
+1
source to share