2016-11-28 93 views
0

我對此感到瘋狂。我正在嘗試編寫一個小的批處理文件,將文件夾中的所有.csv文件加載到我的機器上的MySQL數據庫中。(Windows批處理文件)SET此時意外

我直接從所有文件所在的文件夾運行此.bat。

SETLOCAL ENABLEDELAYEDEXPANSION 

for %%f in (*.csv) do (
    mysql -e "LOAD DATA INFILE 'C:/ProgramData/MySQL/MySQL Server 5.7/Uploads/realtime/%%f' IGNORE INTO TABLE db.my_table FIELDS ENCLOSED BY '\"' TERMINATED BY ',' LINES TERMINATED BY '\n' IGNORE 1 LINES (@TIME, NAME, ID, PRICE, LOSS) SET TIME = STR_TO_DATE(@TIME, '%c/%e/%Y %H:%i')" -u root -password='XXXXXXXXXX' 
) 

我總是收到錯誤消息:

SET was unexpected at this time. 

,距離Echo,好像在STR_TO_DATE變量被改變了。

我在做什麼錯?

謝謝!

回答

1

Escape )mysql聲明中帶有插入符號^)

cmd認爲)作爲結束,如果-條件或結束-DO和需要被告知「這是數據,只是一個字」被轉義括號(也可以是任何重定向器)

0

for什麼?我猜for /f試試這個:

for /f %%f in (*.csv) do (... 

你沒有選擇for語句。循環或讀取。