2017-02-21 61 views
0

進口我想把CSV和在相同的列名進口日期的名稱,現在加入()和文件名CSV到相同的MySQL列

在我的代碼,我和錯誤,因爲$文件名和NOW()不能在同一列的編輯方針代碼:

"LOAD DATA LOCAL INFILE '$filename' 
INTO TABLE $databasetable 
FIELDS TERMINATED BY ',' 
LINES TERMINATED BY '\n' 
IGNORE 1 LINES 
(name, firstname) 
SET batch = $filename NOW() "); 

回答

2

這可以通過使用mysql CONCAT功能來解決:

SET batch = CONCAT($filename, ' ', NOW()) 
+0

任何機會改變NOW()格式的一天/月/年'%d /%m /%Y'? –

+0

@Razvanhoratiu如何做一個基本的谷歌搜索呢?格式化mysql中的日期在SO上已經被詢問和回答了幾次。 – Shadow

+0

你的答案在你的問題!使用mysql [DATE_FORMAT](https://dev.mysql.com/doc/refman/5.7/zh/date-and-time-functions.html#function_date-format)例如'DATE_FORMAT(NOW(),'%​​Y /%m /%d'))' – Gondrup

0

您需要正確的串聯$文件名的VALU e與現在的()。老實說,我會做到這一點在PHP,而不是在SQL,但你可以在SQL這樣做還有:

SET batch = CONCAT('$filename ', NOW()) 

在PHP中:

$t=date(DATE_ATOM) 
... 
SET batch = '$filename $t'