Opencart: Ошибка Duplicate entry ‘0’ for key ‘PRIMARY’

Сегодня на одном своем сайте по продаже светодиодного освещения 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

после недолгих ковыряний нашел ошибку:PHP Fatal error

Ошибка крылась в том, что у нас в таблице oc_attribute в значении attribute_id не было св-ва AUTO_INCREMENT

Для справки: Атрибут AUTO_INCREMENT может использоваться для генерации уникального идентификатора для новых строк

В связи с этим  у нас и вываливалась эта ошибка потому как она не могла создать новую строчку с записью и пыталась создать ее с идентификатором 0 который уже существовал!

Кстати как включить AUTO_INCREMENT через phpmyadmin:

Для этого заходим в нужную нам таблицу и на нужном поле нажимаем ИЗМЕНИТЬ и ставим галочку A_I

как включить AUTO_INCREMENT   через phpmyadmin:

 

Надеюсь, моя статья поможет кому-нибудь!

4 КОММЕНТАРИИ

Popular