Ошибка импорта CSV На рассмотрении

1

Экспортировал список товаров в csv-файл, внес изменения в одном столбце, обратно отказывается импортироваться - зависает на 54,7%. Пробовал несколько раз.

Логирование показывает следующее:

wa-log/db.log

2017-07-05 04:40:14 188.187.24.88
Query Error 1062: Duplicate entry '121-интерактивное видео Виртуальный' for key 'values'
Query: INSERT  INTO shop_feature_values_varchar
                   (`value`, `feature_id`, `sort`) VALUES ('интерактивное видео Виртуальный ландшафт™ (<a href=\"http://sport-bat.ru/pages/virtualnyy-landshaft-virtual-active/\" target=\"_blank\">Virtual Active</a>™), сбор данных состояния тренажера (WI-FI->роутер Asset Management™->Johnson WEB online), сбор и анализ', '121', '70')
## wa-system/database/waModel.class.php(243)
#0 wa-system/database/waModel.class.php(343): waModel->run('INSERT  INTO sh...')
#1 wa-system/database/waModel.class.php(569): waModel->query('INSERT  INTO sh...')
#2 wa-apps/shop/lib/model/shopSortable.model.php(129): waModel->insert(Array, 0)
#3 wa-apps/shop/lib/model/shopFeatureValues.model.php(176): shopSortableModel->insert(Array)
#4 wa-apps/shop/lib/model/shopFeatureValues.model.php(199): shopFeatureValuesModel->getId('121', '???????????????...', 'varchar', true)
#5 wa-apps/shop/lib/model/shopFeature.model.php(476): shopFeatureValuesModel->getValueId('121', '???????????????...', 'varchar', true)
#6 wa-apps/shop/lib/model/shopProductFeatures.model.php(409): shopFeatureModel->getValueId(Array, '???????????????...', true)
#7 wa-apps/shop/lib/classes/shopProduct.class.php(444): shopProductFeaturesModel->setData(Object(shopProduct), Array)
#8 wa-apps/shop/lib/classes/shopProduct.class.php(341): shopProduct->saveData(Array)
#9 wa-apps/shop/lib/actions/csv/shopCsvProductrun.controller.php(1423): shopProduct->save(Array)
#10 wa-apps/shop/lib/actions/csv/shopCsvProductrun.controller.php(821): shopCsvProductrunController->stepImportSku(Array)
#11 wa-apps/shop/lib/actions/csv/shopCsvProductrun.controller.php(776): shopCsvProductrunController->stepImport()
#12 wa-system/controller/waLongActionController.class.php(308): shopCsvProductrunController->step()
#13 wa-apps/shop/lib/actions/csv/shopCsvProductrun.controller.php(737): waLongActionController->execute()
#15 wa-system/controller/waFrontController.class.php(229): waController->run(NULL)
#16 wa-system/controller/waFrontController.class.php(164): waFrontController->runController(Object(shopCsvProductrunController), NULL)
#17 wa-system/controller/waFrontController.class.php(58): waFrontController->execute(NULL, 'csv', 'productrun')
#18 wa-system/waSystem.class.php(544): waFrontController->dispatch()
#19 wa-system/waSystem.class.php(483): waSystem->dispatchBackend('webasyst/shop/')
#20 index.php(7): waSystem->dispatch()
#21 {main
wa-log/shop/csvproducts.log

import: Database error. See log for details.
#0 /home/s/sportbatru/public_html/wa-system/database/waModel.class.php(343): waModel->run('INSERT  INTO sh...')
#1 /home/s/sportbatru/public_html/wa-system/database/waModel.class.php(569): waModel->query('INSERT  INTO sh...')
#2 /home/s/sportbatru/public_html/wa-apps/shop/lib/model/shopSortable.model.php(129): waModel->insert(Array, 0)
#3 /home/s/sportbatru/public_html/wa-apps/shop/lib/model/shopFeatureValues.model.php(176): shopSortableModel->insert(Array)
#4 /home/s/sportbatru/public_html/wa-apps/shop/lib/model/shopFeatureValues.model.php(199): shopFeatureValuesModel->getId('121', '???????????????...', 'varchar', true)
#5 /home/s/sportbatru/public_html/wa-apps/shop/lib/model/shopFeature.model.php(476): shopFeatureValuesModel->getValueId('121', '???????????????...', 'varchar', true)
#6 /home/s/sportbatru/public_html/wa-apps/shop/lib/model/shopProductFeatures.model.php(409): shopFeatureModel->getValueId(Array, '???????????????...', true)
#7 /home/s/sportbatru/public_html/wa-apps/shop/lib/classes/shopProduct.class.php(444): shopProductFeaturesModel->setData(Object(shopProduct), Array)
#8 /home/s/sportbatru/public_html/wa-apps/shop/lib/classes/shopProduct.class.php(341): shopProduct->saveData(Array)
#9 /home/s/sportbatru/public_html/wa-apps/shop/lib/actions/csv/shopCsvProductrun.controller.php(1423): shopProduct->save(Array)
#10 /home/s/sportbatru/public_html/wa-apps/shop/lib/actions/csv/shopCsvProductrun.controller.php(821): shopCsvProductrunController->stepImportSku(Array)
#11 /home/s/sportbatru/public_html/wa-apps/shop/lib/actions/csv/shopCsvProductrun.controller.php(776): shopCsvProductrunController->stepImport()
#12 /home/s/sportbatru/public_html/wa-system/controller/waLongActionController.class.php(308): shopCsvProductrunController->step()
#13 /home/s/sportbatru/public_html/wa-apps/shop/lib/actions/csv/shopCsvProductrun.controller.php(737): waLongActionController->execute()
#14 /home/s/sportbatru/public_html/wa-system/controller/waController.class.php(21): shopCsvProductrunController->execute()
#15 /home/s/sportbatru/public_html/wa-system/controller/waFrontController.class.php(229): waController->run(NULL)
#16 /home/s/sportbatru/public_html/wa-system/controller/waFrontController.class.php(164): waFrontController->runController(Object(shopCsvProductrunController), NULL)
#17 /home/s/sportbatru/public_html/wa-system/controller/waFrontController.class.php(58): waFrontController->execute(NULL, 'csv', 'productrun')
#18 /home/s/sportbatru/public_html/wa-system/waSystem.class.php(544): waFrontController->dispatch()
#19 /home/s/sportbatru/public_html/wa-system/waSystem.class.php(483): waSystem->dispatchBackend('webasyst/shop/')
#20 /home/s/sportbatru/public_html/index.php(7): waSystem->dispatch()
#21 {main}

5 комментариев

  • +2

    Каков тип характеристики "Специальные программные возможности" в вашем магазине?

    • +1
      Светлана Светлана 8 июля 2017 03:24 #

      Был типа ТЕКСТ, я изменил на HTML и все сразу импортнулось. Скажите, Михаил, в каких случаях надо ставить тип HTML? В случаях если там есть любой html-код? Просто у меня и тип ТЕКСТ нормально ссылки отображал, поэтому я и всем остальным ставил ТЕКСТ. А тут видимо много ссылок получилось слишком в одном поле...

      • +1

        Пока непонятно, почему у вас так работает. В моём тестовом магазине импортировалось нормально в новую характеристику типа "Текст".

        Покажите результат выполнения SQL-запроса:

        DESCRIBE shop_feature_values_varchar
        • +1
          Светлана Светлана 11 июля 2017 06:11 #
          FieldTypeNullKeyDefaultExtra
          idint(11)NOPRINULLauto_increment
          feature_idint(11)NOMULNULL
          sortint(11)NO0
          valuevarchar(255)NONULL
        • +1

          Ошибка из-за названия характеристики. Либо у вас реально каким то образом два одинаковых значения характеристики пытаются создаться.

          интерактивное видео Виртуальный ландшафт™ (<a href=\"http://sport-bat.ru/pages/virtualnyy-landshaft-virtual-active/\" target=\"_blank\">Virtual Active</a>™), сбор данных состояния тренажера (WI-FI->роутер Asset Management™->Johnson WEB online), сбор и анализ

          Если второе, то надо csv смотреть.

          Если первое, то мои размышления:
          При создании таких характеристик создается индекс(для более быстрого поиска по базе).
          Например, у предыдущего товара была эта же характеристика со значением "интерактивное видео Виртуальный опа-опа гангам стайл". Создался индекс "121-интерактивное видео Виртуальный". И получается что все последующие значения характеристки с id 121, у которых значения начинаются на эту фразу будут дублями. А дублирование индексов это ошибка.

          А вообще надо бы покопаца тут. По идее длинна индекса у varcahr и его collaction такие же как и у значения. Если значение сохраняется нормально и полностью, то почему индекс получается укороченным? Возможно это как-то связанно с тем, что индекс в данном случае составной int-varchar?

          Добавить комментарий

          Чтобы добавить комментарий, зарегистрируйтесь или войдите