MySQL дизайн таблицы

0

У меня есть таблица с продуктами. Каждый продукт имеет название и цену.

Продукты поставляются в огромных XML файлах ежедневно.

Я храню их все в MySQL. Но иногда у них неправильный титул. Но я не могу его отредактировать, потому что они потеряются на следующий день (cronjob удаляет все продукты и вставляет снова).

Каким будет лучший способ редактировать их? Сохраните их в другой таблице и ВЫБЕРИТЕ обе таблицы сразу? Если таблица, содержащая отредактированные строки, имеет приоритет над таблицей cronjob.

Каким будет лучший способ справиться с этим, поскольку есть еще 300 000 продуктов. Продукты могут быть (вручную) отредактированы с помощью системы CMS.

Спасибо!

  • 0
    Что значит «иногда они имеют неправильный заголовок»? С опечатками? Или совершенно не так? Вы должны привести пример структуры таблицы и фрагмента файла XML. Это поможет нам помочь вам.
  • 0
    У вас нет доступа к XML, чтобы изменить имя на правильное?
Показать ещё 1 комментарий
Теги:
database-design

2 ответа

0
Лучший ответ

Если для каждого продукта, который остается постоянным над обновлениями, существует уникальный идентификатор, вы можете создать таблицу, содержащую идентификатор продукта и исправленный заголовок. Исправление заголовка будет включать вставку строки в эту таблицу, а также обновление основной таблицы.

В качестве последнего шага задания cron вы можете обновить свою основную таблицу продуктов из этого.

UPDATE FROM tblProduct p, tblProductCorrections pc
SET p.strTitle = pc.strCorrectedTitle
WHERE p.intId = pc.intProductId
  • 0
    Спасибо, Пол! Очень хорошая идея.
1

Есть ли какой-то идентификатор, который остается постоянным? (productID), например?

Вы можете отредактировать cronjob?

Если оба из указанных выше истинны; я бы отредактировал задание только для добавления новых записей в таблицу; предотвращая запись ваших обновленных значений.

  • 0
    Это кажется хорошим вариантом. Или обновите все поля во всех записях, кроме заголовка.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню