【问题标题】:how to keep the datetime format from csv to mysql database when importing data?导入数据时如何将日期时间格式从 csv 保留到 mysql 数据库?
【发布时间】:2011-07-12 22:17:19
【问题描述】:

我有一个 csv 文件,我在其中更改了初始日期时间格式:

  • 来自m/d/yyyy h:mm (6/15/2011 5:26:00 PM)
  • yyyy-dd-mm h:mm (2011-15-06 17:26)

这样做是为了避免在将数据从 csv 导入 MySQL 时,0000-00-00 作为 MySQL 数据库中的日期时间值。

这并没有解决问题。我仍然在我的数据库中找到0000-00-00 作为日期时间值。

为了解决这个问题,我首先在 mysql 中创建了数据库(在从 csv 文件导入数据之前),我使用 Datetime 类型来保留该 csv 文件中的日期和时间值。

我是不是忘记了什么?或者有没有更好的方法来解决这个问题?

【问题讨论】:

  • 您向数据库提供的实际 SQL 查询是什么?
  • 哎呀!对不起,我忘了提到我正在使用 phpMyAdmin 将数据从 csv 文件导入到 mysql 数据库。
  • 你在 csv 中的日期是否用引号括起来?
  • 不,我在 csv 中没有任何日期用引号括起来。 csv是通过将数据库中的数据保存在mysql中获得的。现在,我正在尝试将这些数据导入到不同的数据库中。除日期和时间外,其他所有内容均已正确导入。
  • 您不能从其他字段中识别出导入为 0000-00-00 的行,然后查看 CSV 文件中的日期吗?

标签: mysql datetime phpmyadmin


【解决方案1】:

您可能会遇到此问题,因为您没有将日期放在引号中。这行不通

INSERT INTO some_table 2011-07-12;

但这会

INSERT INTO some_table "2011-07-12";

尝试编辑 CSV 文件中的某一行,将日期放在引号中,然后查看该行是否被正确读取。

【讨论】:

    【解决方案2】:

    尝试更改日期/月份 2011-15-06---->2011-06-15 ;) 看看零可能是00-00-0000 不是0000-00-00

    【讨论】:

      【解决方案3】:

      您可以将 csv 中的日期格式更改为“2005-03-15”格式,如上图所示。此外,在数据库表中使用“日期”或“日期时间”(根据要求)。在文件导入时,您应该看到正确的日期时间字段。

      这应该可以解决这个问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-10-12
        • 1970-01-01
        • 2013-04-27
        • 2019-01-27
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多