Сегодня на одном своем сайте по продаже светодиодного освещения 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
Надеюсь, моя статья поможет кому-нибудь!