• DONATE to NULLED!
    Форуму и его команде можно помочь, мотивировать модераторов разделов.
    Помогите модератору этого раздела killoff лично.

Помощь Ошибка при импорте бд dle

drkrol

Постоялец
Регистрация
6 Мар 2016
Сообщения
112
Реакции
11
Здравствуйте. Импортирую бд в phpmyadmin, а мне в ответ ошибка. База импортируется, и, вроде, вся, но ошибка меня пугает. Скажите, это нормально?
xkiMGioFK0s.jpg
 
Нужна вырезка из запроса
CREATE TABLE `dle_post`

Вообще очень странно, чем делался дамп? Почему индексы вынесены отдельно от создания таблицы?

Скорее всего можно удалить строку
Код:
ADD PRIMARY KEY (`id`),

P.s. Этот кусок отвечает за создание индексов. Глобально ничего критичного в их отсутствии нет, но они ускоряют работу базы в несколько раз.
 
Ещё раз. Это индексы и она должны быть в базе.
Без последнего, например, не уверен, что будет работать полнотекстовый поиск...

И да, эта ошибка - не нормально!
 
И да, эта ошибка - не нормально!

Вы бы не могли посмотреть мой дамп, в чем может быть ошибка?
у меня id начинается с 36, заканчивается 79.
для загрузки на форум я sql переименовал в txt.
и в чем может быть косяк?
 

Вложения

  • dle_post (6).txt
    214,9 KB · Просмотры: 2
Вооот! Поэтому я и просил код запроса...

Смотри, у тебя запрос на создание таблицы:
Код:
CREATE TABLE IF NOT EXISTS `dle_post` (
Т.е. если таблица уже создана, то эта инструкция пропускается. Что не верное, если ты импортируешь данные.
Таблицу сначала нужно удалить, а затем создать заново, в противном случае ты можешь пытаться записать 2 строки и одинаковыми ID и всё будет плохо. Но если таблица пустая - то не имеет значения.
(опустим случаи, когда импортируется часть данных, тут другой случай)

А вот дальше ты делаешь:
Код:
ALTER TABLE `dle_post`
  ADD PRIMARY KEY (`id`),
Т.е. безусловно пытаешься добавить PRIMARY KEY в таблицу, не проверяя, а есть ли он... И конечно в уже созданной таблице ранее он был добавлен.
Вот ты и получаешь ошибку 1062 - Duplicate entry '69' for key 'PRIMARY' - т.е. попытка создать PRIMARY KEY, который уже создан...

В общем, по хорошему (если у тебя все данные в дампе и другие не нужны), снести бы табличку и потом уже делать импорт...

P.s. я надеюсь, ты не только dle_post импортируешь? Ведь таблица имеет связи с dle_users, dle_post_extras и dle_post_log как минимум... В противном случае нарушается целостность данных.
 
P.s. я надеюсь, ты не только dle_post импортируешь? Ведь таблица имеет связи с dle_users, dle_post_extras и dle_post_log как минимум... В противном случае нарушается целостность данных.
:D только))) Смотри мои действия.
Мне нужно создать 20 постов, где отличие у них будет всего в одном слове. Тогда я беру и через "добавление новости" добавляю один пост, затем экспортирую в phpmyadmin дамп dle_post. Открываю его через "блокнот" и делаю 20 копипастов моей добавленной статьи. Там я меняю ID у каждой статьи и меняю нужное слово. В моём случае, у меня 20 помад (губная помада) одной серии, но с разными цветами. То есть, мне нужно создать 20 постов, где отличие будет только в одном слове. Все 20 постов отличаются только дополнительным полем "цвет помады", а всё остальное тоже самое. После этого копипаста, я беру и сохраняю дамп. Затем перехожу в phpmyadmin и удаляю содержимое dle_post, удаляю все записи там. Потом перехожу в импорт и импортирую мою базу, где есть 20 помад. В конце получаю ошибку 1062.
Я делаю импорт, когда уже нахожусь в пустом dle_post. А нужно, как я предполагаю, в начале удалить dle_post, а потом уже сделать импорт. Удалить, а не чистить. Я прав?
 
:D только))) Смотри мои действия.
Мне нужно создать 20 постов, где отличие у них будет всего в одном слове. Тогда я беру и через "добавление новости" добавляю один пост, затем экспортирую в phpmyadmin дамп dle_post. Открываю его через "блокнот" и делаю 20 копипастов моей добавленной статьи. Там я меняю ID у каждой статьи и меняю нужное слово. В моём случае, у меня 20 помад (губная помада) одной серии, но с разными цветами. То есть, мне нужно создать 20 постов, где отличие будет только в одном слове. Все 20 постов отличаются только дополнительным полем "цвет помады", а всё остальное тоже самое. После этого копипаста, я беру и сохраняю дамп. Затем перехожу в phpmyadmin и удаляю содержимое dle_post, удаляю все записи там. Потом перехожу в импорт и импортирую мою базу, где есть 20 помад. В конце получаю ошибку 1062.
Я делаю импорт, когда уже нахожусь в пустом dle_post. А нужно, как я предполагаю, в начале удалить dle_post, а потом уже сделать импорт. Удалить, а не чистить. Я прав?
Тогда скорее всего лучше использовать дубль новости Для просмотра ссылки Войди или Зарегистрируйся, чем делать то что не получается.
 
Назад
Сверху