2017-03-21 56 views
0

我有很多文件,例如:20170319,20170320 ... 對於每個文件我有2列,一個用戶名和另一個是數據。 我創建了一個表如何將多個文件加載到mysql中自動添加日期信息?

create table A(user varchar(35), date date, data varchar(35), primary key(user, date)); 

然後,我想這些文件加載​​到數據庫中,並在日期字段使用的文件名作爲具體日期。

我還可以使用某物,如:

Load data infile '20170320' into table A 
+0

查看[manual](https://dev.mysql.com/doc/refman/5.7/en/load-data.html)中的'SET'。您應該可以用這種方式添加日期的自定義列。 –

回答

0

答案是,你不能在MySQL單獨做到這一點,你需要使用構建load data infile陳述與源自適當SET clause外部程序或腳本文件名稱:

SET子句可用於提供不是從輸入 文件派生的值。下面的語句設置欄3,以當前的日期和 時間:

LOAD DATA INFILE 'file.txt' 
    INTO TABLE t1 
    (column1, column2) 
    SET column3 = CURRENT_TIMESTAMP; 

這樣做的原因是:

  1. load data infile不能使用文件名作爲輸入變量
  2. 沒有的MySQL準備好的報表使用prepare statement,也不允許stored procedures被允許使用load data infile聲明。
相關問題