php - Joomla 数据库导入不起作用

标签 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

最佳答案

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

好像是行

COMMENT AS `Nested set parent.`,

不是有效的 SQL。正确的是

COMMENT 'Nested set parent.',

就像你在其他行中看到的那样。
我不知道为什么 phpMyAdmin 使用无效 SQL 创建 MySQL 转储,但这导致了问题。

关于php - Joomla 数据库导入不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36665001/

相关文章:

css - Joomla 模块中字段集的自定义类

joomla - 发生了错误。 0 此平台不支持文件缓存存储。

php-mysql 如何递增二进制 UUID 主键并获取插入的 id

php - 用于验证西里尔字母的正则表达式

php - 在 CodeIgniter 中加载多个库 - PHP

php - SQL 和不区分大小写的条件

php - 在社交网络环境中,检查全局友谊的最简单方法是什么?

MYSQL:如何在单个查询中获取最大日期和第二最大日期

joomla - Virtumart 2.6 paypal 支付货币应该是用户选择的当前货币而不是默认的供应商货币

php - 我在 PHP 中执行 mysql 查询时不断收到 MySql 错误