2017-04-23 174 views
0

我需要将一些数据导入到phpMyAdmin中。除日期以外,这很有效。这是我的数据:将CSV数据导入到phpMyAdmin中

1,1,"","MICROSCOPIO 40X - 600X","","SCOLAR SL8IM","SMS087008",01/02/2001,258.23,,,5,4,2,"",14,,"",,, 
2,2,"","MICROSCOPIO 40X - 600X","","SCOLAR SL8IM","SMS086980",01/02/2001,258.23,,,1,,2,"",14,,"",,, 

正如你所看到的,我试图导入01/02/2001,但它不会工作。
我尝试使用 '导入 - >格式= CSV - >导入' 这些分隔符:

enter image description here
但日期总是存储像 '0000-00-00'。更改日期格式并不能解决问题,因为我试图将其设置为'%d /%m /%Y',但问题仍然存在。如果我在日期之前和之后添加一个引用,例如SQL语法请求,它也不起作用。
你知道如何解决它吗?我不想手动插入每个日期,因为我有2160行要导入。谢谢!

回答

1

考虑使用用户定义的变量重新格式化日期列运行MySQL的LOAD DATA INFILE命令(你可以在phpMyAdmin的查询窗口中运行)。请注意这是一个MySQL特定的命令,因此独立于phpMyAdmin。

具体而言,由于您正在导入21列,请根据MM/DD/YYYY格式调整第8列的日期。当然,如果您是第一天国家(即非美国),则切换%m%d。此外,请将col#名称调整为实际表格字段。

LOAD DATA INFILE '/path/to/my_file.csv.' 
INTO my_table 
FIELDS TERMINATED BY ',' 
(col1, col2, col3, col4, col5, col6, col7, @var1, col9, col10, col11, 
    col12, col13, col14, col15, col16, col17, col18, col19, col20, col21) 
SET col8 = STR_TO_DATE(@var1, '%m/%d/%Y'); 
1

这样做:

  1. 在Excel查看器,如MS Excel或自由报计算器打开CSV。
  2. 格式的日期栏(点击格式 - >单元)和日期格式转换为YYYY-MM-DD Format Date
  3. 一旦我们整个行表示像2001-12-31日期,尝试从现在的phpmyadmin导入它。
+0

这是行不通的(日期仍然存储广告0000-00-00),无论如何感谢您的帮助! – DamiToma

+0

您可以在更改日期格式后共享csv数据吗?因为我试图在我的最后测试它,因此截图。 – gaganshera