php - 使用 LOAD DATA INFILE 将 CSV 时间戳导入 MySQL 可接受的格式

标签 php mysql sql csv

我有一个 CSV 文件,其时间戳采用以下格式

 timestamp,             day_chan2, day_chan3
01/02/2014 00:00,             9,    2
01/02/2014 00:00,            16,    5

我正在尝试使用 LOAD DATA INFILE 将其导入 MySQL 数据库

$query_name = "LOAD DATA INFILE ' "
                                . $file_path . 
                                "' INTO TABLE '"
                                . $this->table_name . 
                                 " ' FIELDS TERMINATED BY '\,' 
                                 LINES TERMINATED BY '\\n' 
                                 IGNORE 1 LINES 
                                 (`time_stamp`,`day_chan2`,`day_chan3`)";

我的问题是:如何将时间戳转换为我的 MySQL 可接受的格式,同时将其导入数据库?

我现在不知道如何将时间戳更改为稍后可以用来查询的正确时间戳。

最佳答案

我从未尝试过此操作,但您也许可以执行以下操作:

$query_name = "LOAD DATA INFILE ' "
                                . $file_path . 
                                "' INTO TABLE '"
                                . $this->table_name . 
                                 " ' FIELDS TERMINATED BY '\,' 
                                 LINES TERMINATED BY '\\n' 
                                 IGNORE 1 LINES 
                                 (@mytimestamp,`day_chan2`,`day_chan3`)
                                 SET time_stamp=STR_TO_DATE(@mytimestamp, '%d/%m/%Y %h:%i');"

MySQL 文档中有这样的示例:

http://dev.mysql.com/doc/refman/5.1/en/load-data.html

关于php - 使用 LOAD DATA INFILE 将 CSV 时间戳导入 MySQL 可接受的格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23528033/

相关文章:

php - 选择时将不存在的字段设置为值

php - 如何将 INT 类型行中的默认列更改为空集

mysql - 将一列中的逗号分隔值传输到 MySQL 中的不同行

mysql - mysql准备语句是否有编号的占位符

java - 数据库行上的锁的范围(简单)

sql - Postgresql dense_rank 操作

sql - 两个表上的 Oracle DB 同步

php - Woocommerce 如何从终止的订单列表中获取订单 ID

用于 HTML 表单的 PHP API 在 MySQL 数据库中插入记录

PHP:从 MySQL 数据库获取特定元素以显示在选择选项列表的顶部