CMS Joomla - Ошибка базы данных MySQL #1064 - USING BTREE

Здравствуйте дорогие друзья. При импорте базы данных Joomla! 2.5 иногда возникает следующая ошибка:
 #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 'USING BTREE )
ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=9' at line xx

И сегодня я хотел бы рассказать, что делать с такой ошибкой.
Ошибка возникает при импорте таблицы _usergroups. Например:
CREATE TABLE IF NOT EXISTS `id0ap_usergroups` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'Primary Key',
  `parent_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'Adjacency List Reference Id',
  `lft` int(11) NOT NULL DEFAULT '0' COMMENT 'Nested set lft.',
  `rgt` int(11) NOT NULL DEFAULT '0' COMMENT 'Nested set rgt.',
  `title` varchar(100) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`),
  UNIQUE KEY `idx_usergroup_parent_title_lookup` (`parent_id`,`title`),
  KEY `idx_usergroup_title_lookup` (`title`),
  KEY `idx_usergroup_adjacency_lookup` (`parent_id`),
  KEY `idx_usergroup_nested_set_lookup` (`lft`,`rgt`) USING BTREE
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=9 ;
Вместо ENGINE=MyISAM может быть ENGINE=InnoDB или иное значение, что не принципиально.
Проблема собственно в использовании в запросе структуры индекса данных BTREE (Б-дерево) - двоичное дерево памяти. Такая ситуация возникает вследствие того, что экспорт базы данных сделан на сервере MySQL, версия которого новее того сервера, на который дамп импортируется. А конкретно - версия сервера MySQL с которого был сделан дамп - 5.1.40, а версия сервера MySQL, на который импортируется дамп - 5.0.51 (версии могут незначительно отличаться).
Решение простое - удаляем из запроса USING BTREE и импортируем базу повторно.

Комментировать статью:

blog comments powered by Disqus
Translate
Russian English French German Italian Portuguese Spanish
Latest SocButtons
Latest SocComments
Latest Socshare