PHPmyadmin在导入后的日期00:00:00返回

时间:2017-04-22 15:31:06

标签: mysql sql datetime phpmyadmin

我使用sql使用以下代码导出数据

select * from club

其中一列是mm/dd/yyyy hh/sec

格式的日期
ID | Date
-----------------
1  | 4/8/2017 16:36

我需要将提取的数据库导入另一台服务器的phpmyadmin作为datetime。当我在phpMyAdmin中使用导入功能时,无论导入文件中是否有任何值,它都会将导入记录中的所有日期列设置为0000-00-00 00:00。

有人可以告诉我需要做什么才能将数据库中的Datecolumn设置为4/8/2017 16:36而不是0000-00-00 00:00:00?

响应:

我试过这个,但它在日期

中给出了空值
select idCustomer, msisdn, idOperator,  STR_TO_DATE(lastBilledDate,'%d/%m/%Y %h:%i'), STR_TO_DATE(customerSince,'%d/%m/%Y %h:%i'), pin, isValid, isBlocked
  from customer where customerSince between  '2017-04-01' and '2017-04-10' 

2 个答案:

答案 0 :(得分:0)

您的日期似乎是文本格式。如果要将其保留为此格式,请将新数据库中的列设置为文本。如果要将其转换为MySQL日期格式:

SELECT id, STR_TO_DATE(Date,'%d/%m/%Y %h:%i') from table;

(假设您的格式中的最后一个数字是munutes的数量)

答案 1 :(得分:0)

MySQL日期时间格式为YYYY-MM-DD HH:MM:SS,因此如果列类型设置为datetime且导入文件中的格式不正确,则会插入零。

尝试将datetime导入临时varchar列,然后使用STR_TO_DATE将实际日期时间列中的字符串转换为日期进行更新。

这样的事情:

UPDATE table SET real_datetime_column = STR_TO_DATE(temp_varchar_column, '%m/%d/%Y %h:%i');