Форум русской поддержки Joomla!® CMS
08.12.2016, 06:12:27 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

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

 (Прочитано 13381 раз)
0 Пользователей и 1 Гость смотрят эту тему.
ven-til
Осваиваюсь на форуме
***

Репутация: +3/-0
Offline Offline

Пол: Мужской
Сообщений: 153


« : 31.03.2012, 17: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
Давно я тут
****

Репутация: +10/-0
Offline Offline

Сообщений: 208


« Ответ #1 : 31.03.2012, 18:13:43 »

Эта ошибка говорит о том, что в таблице jos_aicontactsafe_config уже есть строка с id равным 1. Т.е. происходит дублирование записей, Чего быть не должно.
Для того чтобы этого избежать нужно перед каждый запросом INSERT INTO
вставить следующий запрос
Код
DELETE * FROM 'table_name';
где table_name - имя таблицы в которую происходит вставка данных.
Само собой разумеется, что все те данные что там были будут полностью удалены и перезаписаны данными из бекапа.
Записан
ven-til
Осваиваюсь на форуме
***

Репутация: +3/-0
Offline Offline

Пол: Мужской
Сообщений: 153


« Ответ #2 : 31.03.2012, 19:43:31 »

и каким образом этот запрос вставить?
Записан
nixsystem
Давно я тут
****

Репутация: +10/-0
Offline Offline

Сообщений: 208


« Ответ #3 : 31.03.2012, 22:17:45 »

А каким образом происходит восстановление резервной копии ?
Записан
ven-til
Осваиваюсь на форуме
***

Репутация: +3/-0
Offline Offline

Пол: Мужской
Сообщений: 153


« Ответ #4 : 31.03.2012, 22:55:32 »

А каким образом происходит восстановление резервной копии ?
как-то так:
из списка БД что слева выбираю БД
на вкладке Импорт выбираю файл бекапа БД  и Ок для подтверждения операции.
Записан
nixsystem
Давно я тут
****

Репутация: +10/-0
Offline Offline

Сообщений: 208


« Ответ #5 : 31.03.2012, 23:15:50 »

Тогда так. Открываете файл бекапа (*.sql) в Notepad++ и перед каждой строкой
Код
INSERT INTO 'table_name' ( .... );
строкой выше прописываете
Код
DELETE * FROM 'table_name';
где table_name - названия ваших таблиц в базе.
После этого сохраняете файл, желательно изменив название, и восстанавливаете так же как и делали до этого.
Записан
danik.html
Практически профи
*******

Репутация: +351/-4
Offline Offline

Пол: Мужской
Сообщений: 2723



« Ответ #6 : 01.04.2012, 02:27:55 »

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

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

А посему заходим в список таблиц базы данных, жмем Выделить все, жмем Удалить, подтверждаем.
Импортируем наш sql-дамп в пустую бд.
Записан
nixsystem
Давно я тут
****

Репутация: +10/-0
Offline Offline

Сообщений: 208


« Ответ #7 : 01.04.2012, 09:54:22 »

Можно и так, если в файле бекапа есть CREATE TEBLE.
Из приведенного куска ошибки - невозможно точно сказать есть там такие команды или нет.
Записан
ven-til
Осваиваюсь на форуме
***

Репутация: +3/-0
Offline Offline

Пол: Мужской
Сообщений: 153


« Ответ #8 : 01.04.2012, 13:13:20 »

Тогда так. Открываете файл бекапа (*.sql) в Notepad++ и перед каждой строкой
Код
INSERT INTO 'table_name' ( .... );
строкой выше прописываете
Код
DELETE * FROM 'table_name';
где table_name - названия ваших таблиц в базе.
После этого сохраняете файл, желательно изменив название, и восстанавливаете так же как и делали до этого.

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

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

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

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

Репутация: +33/-0
Offline Offline

Пол: Мужской
Сообщений: 464



« Ответ #9 : 01.04.2012, 13:22:26 »

Ну допустим Notepad++ да и другие редакторы поддерживают множественную автозамену.
Если при бэкапе бд включить опцию "добавить DROP TABLE" то все обнулится и импортируется
Записан
ven-til
Осваиваюсь на форуме
***

Репутация: +3/-0
Offline Offline

Пол: Мужской
Сообщений: 153


« Ответ #10 : 01.04.2012, 13:31:33 »

А как вы осуществите множественную автозамену с подстановкой имени таблицы?
Записан
deeZ
Завсегдатай
*****

Репутация: +33/-0
Offline Offline

Пол: Мужской
Сообщений: 464



« Ответ #11 : 01.04.2012, 13:49:59 »

notepad поддерживает и регулярки и макросы
Записан
Xammax
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 6


« Ответ #12 : 29.09.2015, 00:32:02 »

исправьте INSERT INTO на REPLACE INTO
Записан
vipiusss
Профи
********

Репутация: +261/-8
Offline Offline

Пол: Мужской
Сообщений: 4573


Skype: renor_


« Ответ #13 : 29.09.2015, 10:08:31 »

вверху ответ верный.но раз вы ещё на 1,5 версии(что не советую), обратитесь к хосту.
вам бд изменят, они обязаны.
Записан
flyingspook
Профи
********

Репутация: +226/-9
Offline Offline

Сообщений: 3534


« Ответ #14 : 29.09.2015, 12:52:55 »

археологи  laugh
Записан
vipiusss
Профи
********

Репутация: +261/-8
Offline Offline

Пол: Мужской
Сообщений: 4573


Skype: renor_


« Ответ #15 : 29.09.2015, 12:54:44 »

археологи  laugh
а то))) а ещё они копаются в камешках....
Записан
flyingspook
Профи
********

Репутация: +226/-9
Offline Offline

Сообщений: 3534


« Ответ #16 : 29.09.2015, 13:02:24 »

а то))) а ещё они копаются в камешках....
нет, они на форуме темы трехлетней давности находят и посты наколачивают
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet