使用phpMyAdmin导出会更改时间戳

时间:2014-05-16 00:00:09

标签: mysql sql phpmyadmin timestamp

通过phpMyAdmin导出文件时,一些时间戳会被放回一小时。我怎么能阻止这个?我不希望时间戳被篡改。这是好奇的screenshot(见日期。)

我认为原因可能是添加到每个导出文件的SET time_zone = "+00:00";

这是否应该发生?这是一个已知的错误吗?

我正在跑步:

-- Server version: 5.5.37-0ubuntu0.14.04.1
-- PHP Version: 5.5.9-1ubuntu4

1 个答案:

答案 0 :(得分:1)

时间实际上并没有被'篡改'。

MySQL通常存储TIMESTAMPconverted to UTC time,然后使用系统和会话(客户端会话)值的混合来确定要向用户显示的内容。

您可以自行检查这两个值以运行以下查询。

SELECT @@global.time_zone, @@session.time_zone;

因此,当您的PHPMA脚本生成其转储时,它会指定会话time_zone变量,因此当您运行它时,MySQL会将它们从该时区转换回UTC。然后,当您将其导入另一个数据库时,它仍会将它们转换回您期望的UTC值。

总结如果转储中的值SET time_zone = "+00:00";都是“落后1小时”,那么您在通过PHPMyAdmin查询时看到的值,此只会以这种方式出现< / strong>因为通过PHPMyAdmin的连接将使其时区比UTC早一个小时。