@Siimple

Как исправить SQL ошибку?

Здравствуйте! При добавлении товара в админке OpenCart выскакивает ошибка из базы данных.

Fatal error: Uncaught exception 'Exception' with message 'Error: Duplicate entry '400-74' for key 'PRIMARY'<br />Error No: 1062<br />INSERT INTO oc_product_to_store SET product_id = '400', store_id = '74'' in /var/www/u0430319/data/www/siimple.ru/system/library/db/mysqli.php:40 Stack trace: #0 /var/www/u0430319/data/www/siimple.ru/system/library/db.php(45): DB\MySQLi->query('INSERT INTO oc_...') #1 /var/www/u0430319/data/www/storage/modification/admin/model/catalog/product.php(18): DB->query('INSERT INTO oc_...') #2 [internal function]: ModelCatalogProduct->addProduct(Array) #3 /var/www/u0430319/data/www/storage/modification/system/engine/loader.php(248): call_user_func_array(Array, Array) #4 [internal function]: Loader->{closure}(Array, Array) #5 /var/www/u0430319/data/www/siimple.ru/system/engine/proxy.php(47): call_user_func_array(Object(Closure), Array) #6 /var/www/u0430319/data/www/storage/modification/admin/controller/catalog/product.php(52): Proxy->__call('addProduct', Array) #7 /var/www/u0430319/data/www/storage/m in /var/www/u0430319/data/www/siimple.ru/system/library/db/mysqli.php on line 40


Ранее я делал запросы через базу данных, не через INSERT , а REAPLACE после чего не могу через админку добавить товары, выдаёт ошибку.
Если я правильно понял, он ругается на то, что уже существует такой ключ. Из за того, что я добавлял в ручную через REPLACE он перестал считать. Подскажите пожалуйста, если какое нибудь решения этой проблемы.
  • Вопрос задан
  • 1059 просмотров
Решения вопроса 2
@poniyur
Вроде бы product_id и store_id при создании таблицы были заданы как PRIMARY KEY, это значит что они должны быть уникальны. Данная ошибка говорит о том, что запись со значениями product_id = '400', store_id = '74' уже есть.
Могут помочь такие решения:
1. Поменять PRIMARY KEY для таблицы.
2. Не пытаться вставить дубликат как вы это делаете сейчас
3. Пользоваться опять replace
Ответ написан
Комментировать
zoozag
@zoozag
Opencart
Не передавайте в INSERT product_id, он же авто-инкрементом должен идти
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы