Вопрос

Я подключаюсь к пользователю «root» к своей «тестовой» базе данных, которую я размещаю локально для разработки.Среди прочего у меня есть таблица «рейтингкомментарий».По какой-то причине, когда я нажимаю на таблицу «рейтингкомментарий», phpMyAdmin показывает мне следующую ошибку:

Fehler

    SQL-Befehl: 

    INSERT INTO  `phpmyadmin`.`pma_history` (

    `username` ,
     `db` ,
     `table` ,
     `timevalue` ,
     `sqlquery`
    )
    VALUES (
    'root',  'test',  'ratingcomment', NOW( ) ,  'SELECT * FROM `ratingcomment`'
    )
    MySQL meldet: 

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

Я использовал Google, чтобы узнать следующее

"This indicates that you have a UNIQUE or PRIMARY index on a table, and there is a duplicate value someone on one of the values in one of these indexes."

Но я до сих пор не совсем понимаю ошибку!Я использую первичный ключ, который автоматически увеличивается для всех моих таблиц, поэтому проблем с таблицей возникнуть не должно.У меня была еще одна таблица с именем «Рейтинг», в которой был столбец «Комментарий».Может быть, это вызывает проблемы?

Это было полезно?

Решение

Быстрая починка:

REPAIR TABLE `phpmyadmin`.`pma_history`

Если это не удается, я бы просто обрезал / опорожню таблицу.

TRUNCATE TABLE `phpmyadmin`.`pma_history`

Хотя PHPMYADMIN имеет место в моем панели инструментов, я лично не использую его внутреннюю БД.

Приложение

Таблицы MyIsam могут легко стать повреждены. Пара причин, которые обычно ударяют меня: если MySQL не завершен должным образом, или если таблица имеет индекс FullText, а файл StopWord на диске изменился.

Просто заявил, REPAIR Просто проверяет файл данных для ошибок (и в зависимости от ваших параметров, снова делает его использованием) и переписывает файл индекса. Справедливое предупреждение: с MyISAM, восстановление таблицы может часто топить все ваши данные в этой таблице, чтобы сделать его usable. Отказ Видеть док Больше подробностей.

Поиск Google, относящийся к этой таблице PMA, как правило, ведет меня к это.

Другие советы

Похоже, это внутренняя ошибка.Вы отправили этот запрос:

SELECT * FROM `ratingcomment`

phpMyAdmin пытается записать такое действие в свой внутренний журнал событий, но это не удается.Если вы ищете в Google pma_history вы найдете несколько ссылок на поврежденную такую ​​таблицу.

Я советую вам найти другой SQL-клиент (например, HeidiSQL) и попытаться восстановить базу данных phpMyAdmin.

Я знаю, что это вроде поздно, но у меня была такая же проблема и хотела поделиться тем, что я сделал.

В PHPMYADMIN я пошел на вкладку «Таблица» и только что увеличил значение «Автозаключение» в разделе «Параметры таблицы» и вставила фиктивную запись.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top