Php Joomla数据库导入不起作用
我使用phpMyAdmin的导出功能备份了joomla MySQL数据库。Php Joomla数据库导入不起作用,php,mysql,joomla,phpmyadmin,mariadb,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 `Nes
当我尝试导入此备份文件时,它会给我很多错误,例如“您的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版好了,伙计们,我自己发现了问题: 这似乎是一条线
COMMENT AS `Nested set parent.`,
没有有效的SQL。正确的答案是
COMMENT 'Nested set parent.',
就像你在其他行中看到的那样。我不知道为什么phpMyAdmin使用无效的SQL创建MySQL转储,但这导致了问题。我似乎记得phpMyAdmin 4.5有一些类似的奇怪问题。?phpMyAdmin 4.6中修复了哪些问题?知道如何手动修复它们吗?使用phpMyAdmin版本4.0.10导入.sql文件不起作用。正如您所发现的,某些phpMyAdmin 4.5版本存在问题;这是由4.6.0修正的。当然,您可以手动(或使用您最喜欢的文本/字符串/流编辑器)编辑文件,将反勾号“更改为单引号”(注意不要更改应该是反勾号的行)。