Ошибка при импорте БД

  • 16 Ответов
  • 14950 Просмотров

0 Пользователей и 1 Гость просматривают эту тему.

*

ven-til

Ошибка при импорте БД
« : 31.03.2012, 19:17:11 »
Всем привет.
Есть сайт на локалке. При попытке откатится назад на резервную копию БД возникает ошибка:

Ошибка
SQL-запрос:

-- -- Дамп данных таблицы `jos_aicontactsafe_config` -- INSERT INTO `jos_aicontactsafe_config` (`id`, `config_key`, `config_value`) VALUES (1, 'use_css_backend', '1'), (2, 'activate_help', '1'), (3, 'date_format', '%d %B %Y %H:%M'), (4, 'default_status_filter', '0'), (5, 'editbox_cols', '40'), (6, 'editbox_rows', '10'), (7, 'default_name', ''), (8, 'default_email', ''), (9, 'default_subject', ''), (10, 'activate_spam_control', '0'), (11, 'block_words', 'url='), (12, 'record_blocked_messages', '1'), (13, 'activate_ip_ban', '0'), (14, 'ban_ips', ''), (15, 'redirect_ips', ''), (16, 'ban_ips_blocked_words', '0'), (17, 'maximum_messages_ban_ip', '0'), (18, 'maximum_minutes_ban_ip', '0'), (19, 'email_ban_ip', ''), (20, 'set_sender_joomla', '0'), (21, 'upload_attachments', 'media\aicontactsafe\attachments'), (22, 'maximum_size', '5000000'), (23, 'attachments_types', 'rar,zip,doc,xls,txt,gif,jpg,png,bmp'), (24, 'attach_to_email', '1'), (25, 'delete_after_sent', '0')[...]

Ответ MySQL:

#1062 - Duplicate entry '1' for key 'PRIMARY'


Подскажите как исправить.
Заранее спасибо.

*

nixsystem

Re: Ошибка при импорте БД
« Ответ #1 : 31.03.2012, 20:13:43 »
Эта ошибка говорит о том, что в таблице jos_aicontactsafe_config уже есть строка с id равным 1. Т.е. происходит дублирование записей, Чего быть не должно.
Для того чтобы этого избежать нужно перед каждый запросом INSERT INTO
вставить следующий запрос
Код: sql
DELETE * FROM 'table_name';
где table_name - имя таблицы в которую происходит вставка данных.
Само собой разумеется, что все те данные что там были будут полностью удалены и перезаписаны данными из бекапа.

*

ven-til

Re: Ошибка при импорте БД
« Ответ #2 : 31.03.2012, 21:43:31 »
и каким образом этот запрос вставить?

*

nixsystem

Re: Ошибка при импорте БД
« Ответ #3 : 01.04.2012, 00:17:45 »
А каким образом происходит восстановление резервной копии ?

*

ven-til

Re: Ошибка при импорте БД
« Ответ #4 : 01.04.2012, 00:55:32 »
А каким образом происходит восстановление резервной копии ?
как-то так:
из списка БД что слева выбираю БД
на вкладке Импорт выбираю файл бекапа БД  и Ок для подтверждения операции.

*

nixsystem

Re: Ошибка при импорте БД
« Ответ #5 : 01.04.2012, 01:15:50 »
Тогда так. Открываете файл бекапа (*.sql) в Notepad++ и перед каждой строкой
Код: sql
INSERT INTO 'table_name' ( .... );
строкой выше прописываете
Код: sql
DELETE * FROM 'table_name';
где table_name - названия ваших таблиц в базе.
После этого сохраняете файл, желательно изменив название, и восстанавливаете так же как и делали до этого.

*

danik.html

Re: Ошибка при импорте БД
« Ответ #6 : 01.04.2012, 04:27:55 »
Я так понимаю речь про phpMyAdmin ?

Интересненько, а я всегда думал он какраз нужен для автоматизации sql-запросов, чтоб лишний раз чета ручками не калякать. :))

А посему заходим в список таблиц базы данных, жмем Выделить все, жмем Удалить, подтверждаем.
Импортируем наш sql-дамп в пустую бд.
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!

*

nixsystem

Re: Ошибка при импорте БД
« Ответ #7 : 01.04.2012, 11:54:22 »
Можно и так, если в файле бекапа есть CREATE TEBLE.
Из приведенного куска ошибки - невозможно точно сказать есть там такие команды или нет.

*

ven-til

Re: Ошибка при импорте БД
« Ответ #8 : 01.04.2012, 15:13:20 »
Тогда так. Открываете файл бекапа (*.sql) в Notepad++ и перед каждой строкой
Код: sql
INSERT INTO 'table_name' ( .... );
строкой выше прописываете
Код: sql
DELETE * FROM 'table_name';
где table_name - названия ваших таблиц в базе.
После этого сохраняете файл, желательно изменив название, и восстанавливаете так же как и делали до этого.

Способ наверно действенный, но это ж сколько лет нужно потратить чтоб перед всеми таблицами строку вставить  :o

Я так понимаю речь про phpMyAdmin ?

Интересненько, а я всегда думал он какраз нужен для автоматизации sql-запросов, чтоб лишний раз чета ручками не калякать. :))

А посему заходим в список таблиц базы данных, жмем Выделить все, жмем Удалить, подтверждаем.
Импортируем наш sql-дамп в пустую бд.
вчера, после открытия темы решил рискнуть и удалил БД, потом создал новую, пустую.
Так вот в пустую БД все чудненько импортируется.
Вопрос: почему команда импорта в phpMyAdmin не может например обнулить таблицу и вставить данные из бекапа? (по принципу работы Total Commandera при замене файла)

*

deeZ

Re: Ошибка при импорте БД
« Ответ #9 : 01.04.2012, 15:22:26 »
Ну допустим Notepad++ да и другие редакторы поддерживают множественную автозамену.
Если при бэкапе бд включить опцию "добавить DROP TABLE" то все обнулится и импортируется

*

ven-til

Re: Ошибка при импорте БД
« Ответ #10 : 01.04.2012, 15:31:33 »
А как вы осуществите множественную автозамену с подстановкой имени таблицы?

*

deeZ

Re: Ошибка при импорте БД
« Ответ #11 : 01.04.2012, 15:49:59 »
notepad поддерживает и регулярки и макросы

*

Xammax

Re: Ошибка при импорте БД
« Ответ #12 : 29.09.2015, 01:32:02 »
исправьте INSERT INTO на REPLACE INTO

*

vipiusss

  • ********
  • 5452
  • [+]327 / [-]10
  • Skype: renor_
Re: Ошибка при импорте БД
« Ответ #13 : 29.09.2015, 11:08:31 »
вверху ответ верный.но раз вы ещё на 1,5 версии(что не советую), обратитесь к хосту.
вам бд изменят, они обязаны.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями


*

vipiusss

  • ********
  • 5452
  • [+]327 / [-]10
  • Skype: renor_
Re: Ошибка при импорте БД
« Ответ #15 : 29.09.2015, 13:54:44 »
археологи  :laugh:
а то))) а ещё они копаются в камешках....
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями

*

flyingspook

Re: Ошибка при импорте БД
« Ответ #16 : 29.09.2015, 14:02:24 »
а то))) а ещё они копаются в камешках....
нет, они на форуме темы трехлетней давности находят и посты наколачивают