
Поставил я новенький Opencart version 3.0.3.1, руссифицировал его и решил наполнить пару товаров для примера. Но после сохранения товара Opencart начал выдавать ошибку.
Fatal error: Uncaught Exception: Error: Duplicate entry '0' for key 'PRIMARY' Error No: 1062 INSERT INTO `oc_product_advertise_google` (`product_id`, `store_id`, `google_product_category`) SELECT p.product_id, p2s.store_id, (SELECT c2gpc.google_product_category FROM `oc_product_to_category` p2c LEFT JOIN `oc_category_path` cp ON (p2c.category_id = cp.category_id) LEFT JOIN `oc_category_to_google_product_category` c2gpc ON (c2gpc.category_id = cp.path_id AND c2gpc.store_id = 0) WHERE p2c.product_id = p.product_id AND c2gpc.google_product_category IS NOT NULL ORDER BY cp.level DESC LIMIT 0,1) as `google_product_category` FROM `oc_product` p LEFT JOIN `oc_product_to_store` p2s ON (p2s.product_id = p.product_id AND p2s.store_id = 0) LEFT JOIN `oc_product_advertise_google` pag ON (pag.product_id = p.product_id AND pag.store_id=p2s.store_id) WHERE pag.product_id IS NULL AND p2s.store_id IS NOT NULL AND p.product_id IN (71) in /var/www/user/data/www/site.ru/system/library/db/mysqli.php:40 Stack trace: #0 /var/www in /var/www/user/data/www/site.ru/system/library/db/mysqli.php on line 40
Товар добавлялся и отображался, как в админке так и на сайте, только появление данной картины не очень приятно и заказчик задаст вопрос, что ….
Решение этого бага в новеньком Opencart 3.0.3.1 очень просто.
Как видим в 3-й строке указана таблица oc_product_advertise_google. Идем в наш phpmyadmin, открываем необходимую таблицу в нашей БД. Жмем на кнопку изменить поля product_advertise_google_id

И для нашего поля ставим «чек» в свойстве A_I (AUTO_INCREMENT)

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