Joomla数据库导入不起作用

时间:2016-04-16 13:49:12

标签: php mysql joomla phpmyadmin mariadb

我使用phpMyAdmin的导出功能备份了我的joomla MySQL数据库 当我尝试导入这个备份文件时,它会给我带来很多错误,例如"你的SQL语法有错误......"即使SQL看起来非常正确。

这是备份的一小部分,甚至不起作用:

CREATE TABLE `jos_assets` (
  `id` int(10) UNSIGNED NOT NULL COMMENT 'Primary Key',
  `parent_id` int(11) NOT NULL DEFAULT '0'COMMENT AS `Nested set parent.`,
  `lft` int(11) NOT NULL DEFAULT '0'COMMENT AS `Nested set lft.`,
  `rgt` int(11) NOT NULL DEFAULT '0'COMMENT AS `Nested set rgt.`,
  `level` int(10) UNSIGNED NOT NULL COMMENT 'The cached level in the nested tree.',
  `name` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'The unique name for the asset.\n',
  `title` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'The descriptive title for the asset.',
  `rules` varchar(5120) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'JSON encoded access control.'
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci

当我运行此命令时,我收到以下错误消息:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'AS `Nested set parent.`,
  `lft` int(11) NOT NULL DEFAULT '0'COMMENT AS `Nested ' at line 3

有人可以向我解释这里有什么问题吗?这段代码是由phpMyAdmin自动生成的,对我来说它看起来像是有效的SQL!

我正在使用:
phpMyAdmin版本4.5.5
PHP版本5.6.14
服务器版本10.0.23-MariaDB-0 + deb8u1
Joomla版本3.5.0

1 个答案:

答案 0 :(得分:2)

好的,我自己发现了问题:

似乎是

COMMENT AS `Nested set parent.`,

没有有效的SQL。正确的是

COMMENT 'Nested set parent.',

就像你可以在其他方面看到的那样 我不知道为什么phpMyAdmin使用无效的SQL创建一个MySQL Dump,但这导致了这个问题。