创建表格时

时间:2016-10-28 08:55:39

标签: mysql

我有两张桌子,他们都有一个时间字段。我试图从这两个表中获取数据,当我运行查询时,结果很好(我正在寻找)。

Start_time            Break_time                Finish_time
2016-01-01 01:00:00   2016-01-01 01:05:51       2016-01-01 01:05:59 
2016-01-01 01:00:00   2016-01-01 01:05:51       2016-01-01 01:06:12 
2016-01-01 01:00:00   2016-01-01 01:06:26       2016-01-01 01:06:26 
2016-01-01 01:00:00   2016-01-01 01:06:21       2016-01-01 01:06:35 
2016-01-01 01:00:00   2016-01-01 01:06:49       2016-01-01 01:06:59 
2016-01-01 01:00:00   2016-01-01 01:06:51       2016-01-01 01:07:24 
2016-04-14 12:03:00   2016-04-14 12:27:39       2016-04-14 12:28:04 
2016-04-14 12:03:00   2016-04-14 12:27:28       2016-04-14 12:28:07
2016-04-14 12:03:00   2016-04-14 12:27:38       2016-04-14 12:28:07 
2016-04-14 11:30:00   2016-04-14 12:25:22       2016-04-14 12:28:08 
2016-04-14 12:03:00   2016-04-14 12:27:57       2016-04-14 12:28:08

然而,当我尝试创建一个表格以便结果进入时,时间完全改变。

Start_time            Break_time                Finish_time
2016-01-01 01:00:00   2016-01-01 01:05:51       2016-01-01 01:05:59 01  
2016-01-01 01:00:00   2016-01-01 01:05:51       2016-01-01 01:06:12 01  
2016-01-01 01:00:00   2016-01-01 01:06:26       2016-01-01 01:06:26 01  
2016-01-01 01:00:00   2016-01-01 01:06:21       2016-01-01 01:06:35 01  
2016-01-01 01:00:00   2016-01-01 01:06:49       2016-01-01 01:06:59 01  
2016-01-01 01:00:00   2016-01-01 01:06:51       2016-01-01 01:07:24 01  
2016-01-01 01:00:00   2016-01-01 01:07:14       2016-01-01 01:07:27 01  
2016-01-01 01:00:00   2016-01-01 01:06:26       2016-01-01 01:07:32 01  
2016-01-01 01:00:00   2016-01-01 01:07:03       2016-01-01 01:07:49 01  
2016-01-01 01:00:00   2016-01-01 01:07:51       2016-01-01 01:08:01 01  
2016-01-01 01:00:00   2016-01-01 01:07:44       2016-01-01 01:08:07 01  
2016-01-01 01:00:00   2016-01-01 01:07:47       2016-01-01 01:08:08 01  
2016-01-01 01:00:00   2016-01-01 01:07:06       2016-01-01 01:08:31 01  
2016-01-01 01:00:00   2016-01-01 01:08:25       2016-01-01 01:08:53 01  

在更新CURRENT_TIMESTAMP(Extra)时,第一个表中的Start_time是TIMESTAMP(类型),CURRENT_TIMESTAMP(DEFAULT)。在第二个表中,Break_time和Finish_time都是VARCHAR(TYPE),NULL(默认),None(Extra)。 我认为这是导致问题的原因,但无法弄清楚如何解决它。 有什么想法吗?

1 个答案:

答案 0 :(得分:0)

MySQL根据当前时区将您插入的时间转换为UTC。它还会在选择时转换回当前的一个。这是一个类似的问题。

How do I get the current time zone of MySQL?

但是你必须将DATETIME字段用于Break_time和Finish_time。在插入MySQL由于其类型不会转换它们。