Ошибка phpMyAdmin #1062 - Дублирующаяся запись '1' для первичного ключа

15 мая 2014 г., 03:05:20
Просмотры: 23.4K
Голосов: 0

Я новичок в PHP!

Я пытаюсь импортировать SQL файл, используя phpMyAdmin через cPanel GoDaddy (пожалуйста, не смейтесь надо мной)

Вот полный вывод

-- -- Выгрузка данных для таблицы `wp_commentmeta` -- 
INSERT INTO `wp_commentmeta` (`meta_id`, `comment_id`, `meta_key`, `meta_value`) VALUES 
(1, 3, 'rating', '5'), 
(37, 39, 'rating', '5'), 
(35, 37, 'is_customer_note', '0'), 
(4, 6, 'is_customer_note', '0'), 
(5, 7, 'is_customer_note', '0'), 
(6, 8, 'is_customer_note', '0'), 
(7, 9, 'is_customer_note', '0'), 
(8, 10, 'is_customer_note', '0'), 
(9, 11, 'is_customer_note', '0'), 
(10, 12, 'is_customer_note', '0'), 
(11, 13, 'is_customer_note', '0'), 
(34, 36, 'is_customer_note', '0'), 
(13, 15, 'is_customer_note', '0'), 
(14, 16, 'is_customer_note', '0'), 
(15, 17, 'is_customer_note', '0'), 
(16, 18, 'is_customer_note', '0'), 
(17, 19, 'is_customer_note', '0'), 
(18, 20, 'is_customer_note', '0'), 
(19, 21, 'is_customer_note', '0'), 
(45, 44, 'rating', '4'), 
(46, 45, 'rating', '4'), 
(22, 24, 'is_customer_note', '0'), 
(23, 25, 'is_customer_note', '0'), 
(24, 26, 'is_customer_note', '0'), 
(25, 27, 'is_customer_note', '0'), 
(26, 28, 'is_customer_note', '0'), 
(2[...]

Я довольно неопытен в PHP, и, возможно, мне потребуется объяснение, как маленькому ребенку, просто на всякий случай

0
Все ответы на вопрос 2
4

Судя по всему, вы вставляете данные в таблицу wp_commentmeta. Однако столбец meta_id имеет ограничение Primary Key. Определение таблицы можно посмотреть по ссылке http://codex.wordpress.org/Database_Description#Table:_wp_commentmeta

Поскольку meta_id имеет ограничение Primary Key, этот столбец может содержать только уникальные значения. В ваших INSERT-запросах указаны только уникальные значения для meta_id, поэтому я предполагаю, что в вашей текущей таблице wp_commentmeta уже есть данные. Значение '1' уже присутствует в таблице, поэтому вы не можете вставить '1' повторно.

15 мая 2014 г. 07:03:59
Комментарии

Игнорируйте мой последний комментарий... Опять же, я не слишком разбираюсь в PHP, но могу ли я изменить часть структуры таблицы CREATE TABLE IF NOT EXISTS так, чтобы она... не пыталась вставлять какие-либо данные, если они уже существуют (а они существуют)?

little tiny man little tiny man
16 мая 2014 г. 21:24:25

Вам нужно объяснить, чего вы пытаетесь достичь. Нам нужна более подробная информация. Зачем вы импортируете этот SQL-файл?

AlexanderR AlexanderR
16 мая 2014 г. 21:48:57

Я переношу WordPress, это база данных.. Я задал другой, более полезный вопрос, который может помочь.

little tiny man little tiny man
16 мая 2014 г. 22:00:09

Похоже, это тот же самый вопрос. Думаю, вы подходите к этому неправильно. На новом сервере у вас не должно быть никаких таблиц базы данных. У вас не должно быть никаких файлов или даже установленного WordPress. Начиная с пустой папки, в которой должен работать WordPress, вы копируете файлы (это создаст WordPress). Затем используете phpMyAdmin для импорта данных в пустую базу данных, которую вы создаете для WordPress. Следуйте инструкциям из этого руководства Tutsplus

AlexanderR AlexanderR
16 мая 2014 г. 22:44:24
0

Это старая проблема, о которой я уже забыл. Проблема заключалась в том, что в левом меню phpMyAdmin была выбрана старая база данных (читай: я новичок в управлении базами данных). Таблица уже использовалась и, следовательно, была заполнена данными — это сообщение об ошибке появилось потому, что phpMyAdmin пытался записать данные в первую строку, не смог (там уже были данные) и затем завершил операцию.

Простое создание новой базы данных и её выбор не только исправило эту проблему, но и оказалось правильным способом сделать именно то, что я хотел. По какой-то причине все эти ответы предполагают, что я не просто неопытен в управлении SQL; приму это как комплимент.

23 авг. 2014 г. 15:37:28