为什么phpmyadmin export在导入时会产生语法错误

时间:2016-03-25 07:27:52

标签: phpmyadmin

我通过PhpMyAdmin从我的托管服务VPS导出Drupal网站的数据库到我的本地计算机,该计算机与Fedora 23工作站一起使用。我做了一些修改(通过Drupal,而不是直接在数据库上)然后将它从我的本地计算机(PhpMyAdmin 4.5.5.1; 10.0.23-MariaDB)导出到VPS(PhpMyAdmin 4.0.10.7; 5.5.42-cll) 并收到以下错误消息:

Requête SQL:

--
-- Base de données : `achlaltn_monhuv`
--
-- --------------------------------------------------------
--
-- Structure de la table `actions`
--
CREATE TABLE IF NOT EXISTS `actions` (
`aid` varchar( 255 ) NOT NULL DEFAULT '0' COMMENT
);

MySQL a répondu: Documentation
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 13

原始表创建查询是:

CREATE TABLE IF NOT EXISTS `actions` (
  `aid` varchar(255) NOT NULL DEFAULT '0' COMMENT 'Primary Key: Unique actions ID.',
  `type` varchar(32) NOT NULL DEFAULT '' COMMENT 'The object that that action acts on (node, user, comment, system or custom types.)',
  `callback` varchar(255) NOT NULL DEFAULT '' COMMENT 'The callback function that executes when the action runs.',
  `parameters` longblob NOT NULL COMMENT 'Parameters to be passed to the callback function.',
  `label` varchar(255) NOT NULL DEFAULT '0' COMMENT 'Label of the action.',
  PRIMARY KEY (`aid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Stores action information.';

我读到PhpMyAdmin不会直接创建主键,但稍后会更改表(PhpMyAdmin export does not include PRIMARY KEY as mysqldump)。但它似乎与问题无关,因为错误消息是语法错误。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

这似乎与最近针对当前版本4.6.0修复的phpMyAdmin中的错误有关。该错误导致导入和导出带有注释的表格存在一些问题,虽然我还没有看到确切的问题,但是您看到的机会非常好,它已在当前版本中得到修复。我建议你从4.5.5.1升级到4.6.0再试一次。

从根本上说,导入问题是COMMENT语句后面没有实际注释,但是你错过了表结构的其余部分,所以首先尝试升级并查看是否能解决问题。