1

Тема: Проблемы с импортом в PMA 2.5.4

Помогите, пожалуйста, новичку. Впервые пытаюсь импортировать базу данных.
Экспортирую базу из pma 2.6.1, импортирую в pma 2.5.4.
Вот что выдается при экспорте:

SQL-запрос :

CREATE TABLE IF NOT EXISTS `certs` (
`cert_id` int( 11 ) NOT NULL AUTO_INCREMENT ,
`cert_name` varchar( 50 ) NOT NULL default '',
`cert_text` text NOT NULL ,
PRIMARY KEY ( `cert_id` )
)ENGINE = MYISAM DEFAULT CHARSET = cp1251 AUTO_INCREMENT =6

Ответ MySQL:

#1064 - You have an error in your SQL syntax near 'ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=6 ' at line 6

подскажите, в чем проблема.

2

Re: Проблемы с импортом в PMA 2.5.4

helga
Проблема эта уже неоднократно поднималась на этом форуме. Если Вы действительно хотите узнать причину ошибки и как избежать подобных ошибок в дальнейшем читайте:
http://forum.php-myadmin.ru/viewtopic.p … 1786#p1786

Попробуйте так:

CREATE TABLE IF NOT EXISTS `certs` (
`cert_id` int( 11 ) NOT NULL AUTO_INCREMENT ,
`cert_name` varchar( 50 ) NOT NULL default '',
`cert_text` text NOT NULL ,
PRIMARY KEY ( `cert_id` )
) ENGINE=MYISAM AUTO_INCREMENT=6;

И обновите версию phpMyAdmin, уж больно дремучая. Кстати, я не помню точно, но кажется, - в версии phpMyAdmin 2.5.4 еще не доступна опция "SQL compatibility mode" о которой идет речь в том посте на который я привел ссылку.

Нет неразрешимых проблем, есть неприятные решения. (Э. Борн)

3

Re: Проблемы с импортом в PMA 2.5.4

извините за невнимательность. действительно, проблема аналогичная. вручную исправляю дамп - не помогает.
для меня это темный лес. я бы уточнить хотела. проблема возникает из-за разницы кодировок импортируемой базы данных и базы данных на удаленном сервере, или из-за того, что удаленный сервер не понимает DEFAULT CHARSET = cp1251? если последнее, не понятно, почему при удалении ошибка остается...
а версия 2.5.4 стоит на удаленном сервер. если честно, просто не знаю, можно ли заменить на более новую. буду разбираться

4

Re: Проблемы с импортом в PMA 2.5.4

helga сказал:

я бы уточнить хотела. проблема возникает из-за разницы кодировок импортируемой базы данных и базы данных на удаленном сервере, или из-за того, что удаленный сервер не понимает DEFAULT CHARSET = cp1251?

Эээх не прочитали Вы информацию по ссылке, что я Вам дал:

...возможность задания кодировок на уровне сервера была реализована в MySQL4.1. Поэтому на старых версиях MySQL синтаксис ".. DEFAULT CHARSET = latin1;" будет вызывать #1064 ошибку.

Другими словами - Ваша ошибка - синтаксическая. "Великовозрастный" MySQL-сервер не понимает данного синтаксиса.

helga сказал:

если последнее, не понятно, почему при удалении ошибка остается...

Эта же ошибка оставаться не может, возникает другая ошибка. Покажите "ругательства" MySQL-сервера. И уточните его версию.

Нет неразрешимых проблем, есть неприятные решения. (Э. Борн)

5

Re: Проблемы с импортом в PMA 2.5.4

чесслово, я читала, только я пока плохо в этом разбираюсь, и сложно понять, а чем говориться...
ошибка остается таже самая, сервер ругается на синтаксис:

Ответ MySQL:

#1064 - You have an error in your SQL syntax near 'ENGINE=MyISAM  AUTO_INCREMENT=6 ' at line 6

но решения я нашла - надо полностью удалить "ENGINE = MYISAM DEFAULT CHARSET = cp1251 AUTO_INCREMENT =6". тогда импорт проходит без проблем!

6

Re: Проблемы с импортом в PMA 2.5.4

helga
AUTO_INCREMENT =6
Это из строки удалять нельзя, скрипт или то что использует БД, будет работать не корректно. Но после импорта вы можете вручную вставить AUTO_INCREMENT =6 на поле cert_id. Попробуйте импортировать дамп стерев все, но оставив AUTO_INCREMENT =6.

7

Re: Проблемы с импортом в PMA 2.5.4

да, действительно. AUTO_INCREMENT =6 надо оставить. спасибо. теперь все нормально работает