AndreySpb

Ошибка в mysql.php (Error No: 1062)

Рекомендуемые сообщения

AndreySpb    1

Добрый день!

Помогите, пожалуйста решить проблему. Если что не так описал - заранее прошу прощения.

Версия 1.5.5.1

С недавнего времени стал замечать, что иногда, при добавлении нового товара через админку, возникает следующая проблема. На вкладке описания товара на английском языке, уже стоит наименование какого-либо товара, ранее добавленного. И этого раннее добавленного товара уже нет на сайте. Обидно, т.к. некоторые товара индексируются больше 2-х лет. Сегодня при добавлении выдал следующую ошибку:

 

Notice: Error: Duplicate entry '7137-2' for key 'PRIMARY'
Error No: 1062
INSERT INTO oc_product_description SET product_id = '7137', language_id = '2', name = 'Стойка стабилизатора переднего  Emgrand', meta_keyword = '', meta_description = '', description = '', tag = '', seo_title = '', seo_h1 = '' in /home/b/bstmai/9366858.ru/public_html/system/database/mysql.php on line 50

 

Сама строка 50 в mysql.php:

 

trigger_error('Error: ' . mysql_error($this->link) . '<br />Error No: ' . mysql_errno($this->link) . '<br />' . $sql);

 

Никаких модулей и обновлений последнии полгода не устанавливал. Периодически возникали разные проблемы с сайтом, но все решалось поиском по этому форуму и интернету. Здесь же не знаю и даже боюсь что-то предпринимать.

Я понимаю, что я что-то дублирую при добавлении, но как и что?

'model' у меня не оригинальные, часто повторяются. Оригинальные только 'location'.

 

Заранее большое спасибо за любые советы.

 

Сам сайт

www.9366858.ru

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Yoda    435

Найдите в таблице oc_product_description 

 

 

все записи с id 7137

 

Удалите ненужную дублирующую локаль

и будет у вас все ок.

Видимо в процессе записи в базу произошел какой то сбой в подключении

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
AndreySpb    1

Найдите в таблице oc_product_description 

 

 

все записи с id 7137

 

Удалите ненужную дублирующую локаль

и будет у вас все ок.

Видимо в процессе записи в базу произошел какой то сбой в подключении

Спасибо за совет.

Но таких дублей много. Как это исправить? И не допустить в дальнейшем?

На картинке красными стрелками указаны товары, которые добавлены очень давно. Зелеными - те, которые сегодня. И те, которые добавены давно просто исчезли.

2238346ed0797e48d42e11b542421928.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
AlexDW    822

искать причину, по которой у вас в БД плодятся дубли по product_id

 

возможные причины - неверный импорт/экспорт, правки кода движка, кривой перенос данных без очистки БД и тд

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Otvet    405

это не дубли, это разные языки

там и первичный индекс составной (product_id+language_id)

 

 

Сам сайт не мультиязычный, для чего тогда держать два языка?

Удаляете лишний язык и выполняете запрос

DELETE FROM `oc_product_description` WHERE `language_id` = АЙДИ_НЕНУЖНОГО_ЯЗЫКА

Смотрите исчезла ли ошибка

 

 

 

зашел на сайт, просто ткнул в валюту и бац

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
AndreySpb    1

искать причину, по которой у вас в БД плодятся дубли по product_id

 

возможные причины - неверный импорт/экспорт, правки кода движка, кривой перенос данных без очистки БД и тд

Спасибо за участие. БД никогда не чистил, но и никогда никто не советовал этого. У меня есть кнопка в админке, "Очистить журнал" и "Очистить кеш". Каждый день использую их. Но это не то, как я понимаю.

Код движка не правил.

Вот про кривой перенос - это как? Я БД никуда не переносил, но ежедневно заливаю файл backup_categories_products.xls, который правлю каждый день. Возможно в нем засада... Но это простой excel, там даже английского варианта наименований нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
AndreySpb    1

это не дубли, это разные языки

там и первичный индекс составной (product_id+language_id)

 

 

Сам сайт не мультиязычный, для чего тогда держать два языка?

Удаляете лишний язык и выполняете запрос

DELETE FROM `oc_product_description` WHERE `language_id` = АЙДИ_НЕНУЖНОГО_ЯЗЫКА

Смотрите исчезла ли ошибка

 

 

 

зашел на сайт, просто ткнул в валюту и бац

Добрый день.

Пожалуй, Вы правы на 100%. В журнале ошибок тоже постоянно ругается на язык. И да, мне достаточно только русского.

Про валюту удивили, никогда на доллары не переключался, большое спасибо Вам!

Возникает логичные вопрос, как убрать второй язык и не принесет ли это новые проблемы?

Если это сложная и опасная операция, то не возьметесь ли Вы за это?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Otvet    405

зайти настройки-локализация-языки (примерно так, не помню)

и просто нажать удалить

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу