Сегодня на одном своем сайте по продаже светодиодного освещения Arlight под управлением Opencart после долгих экспериментов с подгрузками прайс листов у меня стала выпадать ошибка в логах (как включить логи на хостинге что бы найти error читайте в моей предыдущей статье ) :
12-Nov-2017 21:45:28 Europe/Moscow] PHP Fatal error: Uncaught exception 'Exception' with message 'Error: Duplicate entry '0' for key 'PRIMARY'<br />Error No: 1062<br /> INSERT INTO oc_attribute SET attribute_group_id = '1', sort_order = '0'' in /public_html/system/library/db/mysqli.php:40 Stack trace:
Данная ошибка говорит о том, что не может добавиться значение потому как происходит дублирование потому как значение 0 уже есть в таблице oc_attribute
после недолгих ковыряний нашел ошибку:
Ошибка крылась в том, что у нас в таблице oc_attribute в значении attribute_id не было св-ва AUTO_INCREMENT
Для справки: Атрибут AUTO_INCREMENT
может использоваться для генерации уникального идентификатора для новых строк
В связи с этим у нас и вываливалась эта ошибка потому как она не могла создать новую строчку с записью и пыталась создать ее с идентификатором 0 который уже существовал!
Кстати как включить AUTO_INCREMENT через phpmyadmin:
Для этого заходим в нужную нам таблицу и на нужном поле нажимаем ИЗМЕНИТЬ и ставим галочку A_I
Надеюсь, моя статья поможет кому-нибудь!
Мне помогло!
Та же ошибка только у меня новый пользователь не мог войти, просто страница обновлялась, а при создании других новых было HTTP ERROR 500.
Благодарю )
Спасибо! У меня другая ошибка после установки шаблона PHP Fatal error: Uncaught exception ‘Exception’ with message ‘Error: Table ‘_ocar1.oc_oct_blog_article’ Может знаете , как решить данную ошибку? Спасибо
Здравствуйте.
Подскажите пожалуйста, не встречалась ли Вам вот такая http://joxi.ru/Vm6yxYbuDZjkRr ошибка? Попробовал сделать как описано в статье и не помогло. Точнее, галочку получилось поставить только в одном месте, а в остальные пишет, что некорретно.
ну там четко написано что там задвоенные данные, что бы понять конкретно вашу проблему надо надо смотреть что вы делаете