如何在csv文件中使用UTC_TIMESTAMP()

时间:2017-06-11 22:42:23

标签: mysql csv

我需要一种在CSV文件中使用UTC_TIMESTAMP()函数的方法。

目前我正在使用以下语法;

LOAD DATA INFILE '/path/to/file.csv'
INTO TABLE my_table FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n';

我不太清楚如何保持UTC_TIMESTAMP()不被引号括起来。在数据库中输入时,我得到以下结果

"0000-00-00 00:00:00"

这是我在堆栈溢出或Google上找到的唯一一个将字符串转换为MYSQL值的例子。

MySQL CSV import: datetime value

1 个答案:

答案 0 :(得分:0)

我按照此页面上的MySQL文档解决了这个问题。 https://dev.mysql.com/doc/refman/5.7/en/load-data.html

在页面的大约一半处有一个部分向您展示如何为行创建变量,然后将表行设置为等于本机mysql函数或分配给这些变量的值(无论您选择哪个)。

我所指的文档中的示例如下所示。

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

我通过重组我的代码解决了我的问题......

 LOAD DATA LOCAL INFILE '/path/to/file.csv'
 INTO TABLE veh_icodes FIELDS TERMINATED BY ','
 LINES TERMINATED BY '\n'
 (id, vcode, year, make, model, body_style, tran_type, engine_cap, drive_train, doors, trim, created_by, updated_by, @created_at, @updated_at, active)
 SET created_at = CURRENT_TIMESTAMP, updated_at = CURRENT_TIMESTAMP;"

我希望这有助于某人。 :)