LOAD DATA LOCAL INFILE 语法错误
LOAD DATA LOCAL INFILE syntax error
使用 MySQL:mysql Ver 14.14 Distrib 5.6.24,用于 debian-linux-gnu (x86_64) 使用 EditLine wrapper
我正在尝试每天两次将 LOAD DATA LOCAL INFILE 作业 cron 到 运行。我很难整理我的语法。目前,我有这个:
#!/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;
"
我不断收到这个消息:
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
帮忙?
这应该有效(如果文件和 table 存在)-
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;
使用 MySQL:mysql Ver 14.14 Distrib 5.6.24,用于 debian-linux-gnu (x86_64) 使用 EditLine wrapper
我正在尝试每天两次将 LOAD DATA LOCAL INFILE 作业 cron 到 运行。我很难整理我的语法。目前,我有这个:
#!/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;
"
我不断收到这个消息:
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
帮忙?
这应该有效(如果文件和 table 存在)-
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;