PhpMyAdmin 表导出忽略时间戳列

Posted

技术标签:

【中文标题】PhpMyAdmin 表导出忽略时间戳列【英文标题】:PhpMyAdmin Table Export ignores timestamp column 【发布时间】:2020-04-10 14:26:45 【问题描述】:

我最近注意到,在导出带有 TIMESTAMP 列的 mysql 表时,在执行 Export 的 INSERT 语句部分时会忽略该列。可能是什么问题呢?下图:

生成的导出 CREATE TABLE 语句:

-- Table structure for table `req_status`
DROP TABLE IF EXISTS `req_status`;
CREATE TABLE `req_status` (
  `req_id` int(11) NOT NULL,
  `stat_id` int(11) NOT NULL,
  `change_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

生成的导出插入语句

--
-- Dumping data for table `req_status`
--

INSERT INTO `req_status` (`req_id`, `stat_id`) VALUES
(1, 5),
(2, 5);

【问题讨论】:

您是否使用 phpMyAdmin 创建导出?您使用的是哪个 phpMyAdmin 版本?您是否更改了默认的任何导出设置?这对我来说很好,所以你的 phpMyAdmin 配置可能有一些情况。 【参考方案1】:

这是在使用 MySQL >= 8.0.13 时报告的错误。据说它已在 phpMyAdmin 5.0.1 中修复,但我正在使用该版本,但仍然有这个问题,所以我不太确定。

https://github.com/phpmyadmin/phpmyadmin/issues/15315

您可以使用 mysqldump 代替:

mysqldump -h [hostname] -u [user] -p [database-name] [tables] > [path-to-dump-file]

【讨论】:

以上是关于PhpMyAdmin 表导出忽略时间戳列的主要内容,如果未能解决你的问题,请参考以下文章

使用PHPMyAdmin管理工具修复MySQL数据库表

phpmyadmin(linux)删除mysql SQL查询窗口中的反引号

如何将 phpmyadmin 表导出到 csv 中?

如何将单个表从 phpmyadmin 导出到逗号分隔的文本文件?

来自 phpMyAdmin 的跟踪报告的 MySQL 表

按国家/城市列出的sql时区表