1 (изменено: Servir, 2025-10-09 18:53:48)

Тема: При импорте выдает ошибки

Доброго дня, помогите пожалуйста решить пазл.
У меня такая ситуация: Есть база sql, которая разбита на 8 частей. Ну так плагин резервирования извратился сохранить ее.
Причем в инструкции написано, что восстанавливать базу нужно импортировать начиная с 1-ой части и так подсовывать по 1-му.
НО на деле успешно загрузилась только 1-ая часть, а вторая часть при импорте выдает ошибку:
1 ошибка

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

-- INSERT INTO wp_bordercomments
-- -----------------------------

INSERT INTO wp_bordercomments VALUES('3', '952', 'Роман', 'rgiev1@gmail.com', NULL, '193.111.60.5', '2016-12-08 19:36:30', '2016-12-08 16:36:30', 'Я бы ещё добавил...', '0', '1', 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0', 'comment', '0', '0')
Ответ MySQL: Документация

#1048 - Столбец 'comment_author_url' не может принимать величину NULL

Ну да ошибка не сложная, зашел, поправил поле.
Если делать импорт 2-ой части повторно(наверняка база затянулась не полностью и остановила процесс на ошибке), то выдает уже другую ошибку:

2 ошибка

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

INSERT INTO wp_borderaioseo_posts VALUES('46', '4354', 'Средства от различных ожегов | #site_title', 'Эффективные лечение средствами от ожогов', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'default', 'default', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', 'default', 'default', NULL, NULL, NULL, NULL, NULL, '0', '{\"blockGraphs\":[],\"customGraphs\":[],\"defaultGraph\":\"Article\",\"defaultPostTypeGraph\":\"Article\",\"graphs\":[]}', NULL, NULL, '0', '1', '0', '0', '0', '0', '0', '0', '0', NULL, NULL, 'large', '[{\"image:loc\":\"https:\\/\\/myborder.ru\\/wp-content\\/uploads\\/2020\\/03\\/ojog.jpeg\",\"image:title\":\"\\u0421\\u0440\\u0435\\u0434\\u0441\\u0442\\u0432\\u0430 \\u043e\\u0442 \\u0440\\u0430\\u0437\\u043b\\u0438\\u0447\\u043d\\u044b\\u0445 \\u043e\\u0436\\u043e\\u0433\\u043e\\u0432\",\"image:caption\":\"\"}]', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, '20[...]
Ответ MySQL: Документация

#1062 - Дублирующаяся запись '46' по ключу 'PRIMARY'

Ну и собственно вопрос, можно ли перед импортом в PHPMYADMIN сделать установку, чтобы при нахождении дубляжей, просто перезаписывал их?

Или может есть другие варианты, как соединить несколько частей БД в один файл БД?

Есть может у кого идеи?

P.S. В 1 файл БД соединил с помощью Тотал коммандера, но в таком случае при импорте выдает первую ошибку
#1048 - Столбец 'comment_author_url' не может принимать величину NULL. Соответственно БД полностью не импортирована.


Добавлю:
Если вручную удалить несколько сотен повторяющихся записей(их порядка 700 в этой таблице) и снова сделать импорт 2-ой части, то вылетает 1-ая ошибка и так по кругу. У меня такое впечатление, что все части БД сохранены с неким наложением, т.е. часть данных просто повторяется в каждой части. Логически то должно быть так: что каждая часть хранит несколько уникальных таблиц в пределах этой БД, но похоже это не так.

2

Re: При импорте выдает ошибки

По первой ошибке:
Откройте файл первого дампа и найдите вхождение указанной строки добавляющей данные в таблицу wp_bordercomments. Определите где в строке находится поле comment_author_url и вручную замените значение NULL на строку, например пустую. Если после данных изменений указанная ошибка уйдет и появится другая однотипная, то смотрите по аналогии.

По второй ошибке:
Повторно импортировать дамп нельзя. Получается, что таблица wp_borderaioseo_posts уже создана и в ней имеется запись с идентификатором (первое поле) 46. Ошибка говорит, что поверх данные записать нельзя. Необходимо очистить или полностью удалить таблицу и ее данные перед импортом.

3

Re: При импорте выдает ошибки

Благодарю за помощь!

Hanut сказал:

По первой ошибке:
Откройте файл первого дампа и найдите вхождение указанной строки добавляющей данные в таблицу wp_bordercomments. Определите где в строке находится поле comment_author_url и вручную замените значение NULL на строку, например пустую. Если после данных изменений указанная ошибка уйдет и появится другая однотипная, то смотрите по аналогии.

по этой ошибке я разобрался сразу

Hanut сказал:

По второй ошибке:
Повторно импортировать дамп нельзя. Получается, что таблица wp_borderaioseo_posts уже создана и в ней имеется запись с идентификатором (первое поле) 46. Ошибка говорит, что поверх данные записать нельзя. Необходимо очистить или полностью удалить таблицу и ее данные перед импортом.

А вот по этой ошибке сложнее. Если вторую часть импортирую, то запись начинается правильно с 46 поля. Захожу в эту таблицу и удаляю все поля с 46 по 900(ну т.е. все остальные). Еще помним, что 1-ую ошибку я уже исправил.
Так чтобы при импорте 2-ой части уж точно ошибок не было, мы же знаем, что вторая часть начнет импорт записей с 46-го, а эту таблицу мы намеренно почистили. Таким образом вроде можно сделать импорт 2-ой части, НО НЕТ
При импорте снова вылетает 1 ошибка, но мы же ее исправили, почему она снова вылетает?
При этом запись в таблицу wp_borderaioseo_posts с 46 по 900 все таки происходит. Замкнутый круг получается

Другими словами исправляем 1 ошибку, создаем условия(чтобы не было дублирования) и удаляем дубляжи, чтобы не было повторяющихся полей. Все равно вылетит 1 ошибка.
А 3-юю часть не могу импортировать, т.к. 2-ая часть недогрузила(не создала) таблицы.

4

Re: При импорте выдает ошибки

Это означает, что первую ошибку не исправили во втором дампе. Возможно там много строк, где данные надо исправить, не в одном месте править надо. Но я бы попробовал исправить структуру таблицы и разрешить там NULL данные в поле comment_author_url.