2017-02-21 63 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'