1 (изменено: Mark, 2006-08-16 15:38:20)

Тема: ошибка при копировании таблицы со структурой в другую БД. MySQL 4.1

При копировании/переносе таблиц со структурой формируется запрос на создание таблицы в новой БД вида:
запрос
CREATE TABLE `mysql`.`alt_sum` (
...)
ENGINE = MYISAM AUTO_INCREMENT = 48320DEFAULT CHARSET = cp1251 COLLATE = cp1251_general_cs

Ответ MySQL: Документация
#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 '48320DEFAULT CHARSET  = cp1251 COLLATE  = cp1251_general_cs' at line 9

То есть нет пробела между последней позицией счётчика auto_increment и default charset.
Ошибка где-то в функции PMA_SQP_formatHtml.
Если закомментарить 128-ю строку файла libraries\tbl_move_copy.php, то ошибка исчезнет:

127        /* Generate query back */
128        //$sql_structure = PMA_SQP_formatHtml($parsed_sql, 'query_only');
129        // If table exists, and 'add drop table' is selected: Drop it!

Побочные эффекты - вывод запроса c html-форматированием пропадёт,  запрос будет выводиться простым тесктом.

2

Re: ошибка при копировании таблицы со структурой в другую БД. MySQL 4.1

Mark
Будь добр, уточни версию phpMyAdmin.

При создании дампа попробуй выбрать "SQL export compatibility: MYSQL40". В результате phpMyAdmin будет генерировать запрос вроде такого:

CREATE TABLE `mysql`.`alt_sum` (
...)
ENGINE = MYISAM AUTO_INCREMENT = 48320;
Нет неразрешимых проблем, есть неприятные решения. (Э. Борн)