MySQL и добавление данных по дате

strcn

Client
Регистрация
08.07.2017
Сообщения
73
Благодарностей
46
Баллы
18
Снова здравствуйте, други!

Написан парсер магазина, которой каждую неделю собирает остатки товаров (+8к позиций) со склада конкурента.

Ввиду некоторых причин появилась острая необходимость использовать БД. С основными моментами разобраться было не сложно, но сейчас появился затык в плане логики: как наиболее правильно организовывать запись одних и тех же значений в БД, по дате, еще и так, чтобы оставались значения прошлых недель для последующего анализа склада конкурента?

Прошу прощения, если подобные вопросы уже всплывали. Нашел много инфы по работе с датами в MySQL, но никак не могу понять, как это изящнее реализовать. :ah:

Буду рад любой помощи и примерам!
 

ZULI

Client
Регистрация
09.09.2020
Сообщения
423
Благодарностей
165
Баллы
43
Сделай поле datetime и у него выстави по умолчанию значение CURRENT_TIMESTAMP, тогда при добавлении строки mysql будет сам ставить туда дату и время добавления строки
 
  • Спасибо
Реакции: strcn

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 767
Благодарностей
2 414
Баллы
113
На сколько я понял проблема такая:
Есть ИдТовара с магазина, Имя Товара 1, Характеристика 1, Характеристика 1, Характеристика 1, Характеристика 1, время добавления.
И Вы хотите добавлять данные либо новые либо добавлять те, которые были изменены, не затрагивая исторические данные.
Если же например изменилась Цена/имя/Характеристика - то хотите добавить этот же товар в базу с новым значением цены (как пример).

В этом случае рекомендую добавить поле например MD5, который формируется с полей, за которыми собрались следить.
Ключ нужно сделать составной из ИД_товара и MD5.

Добавлять данные можно будет пачками запросом INSERT ON DUPLICATE KEY UPDATE. (время не используем для формирования MD5).

Таким образом в базу будут добавляться только уникальные значения по ID товара, а MD5 обеспечит добавление истории изменений товара (если вдруг такое произошло) - и тогда по любому товару без проблем можно будет получить данные о его истории изменения, при этом не хранить дополнительные данные если ничего не изменялось.
 
  • Спасибо
Реакции: strcn

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)