Я реализую базу данных о ценах, где несколько продавцов продают один и тот же продукт по разным ценам. Каждый продукт уникален и идентифицируется его model_number
. Прямо сейчас у меня есть 1 продавец в моем ценовом столе. Я ищу лучший способ построить таблицу, которая может перечислить несколько цен с каждым цена является полем для строки, чей первичный ключ model_number
Mysql стол. Должен ли я использовать несколько таблиц?
таблица выглядит следующим образом:
model_number | seller | price
abc Store1 99.99
Эта структура работает хорошо, когда есть только 1 продавец, поскольку основным ключом является номер модели и мой запрос на обновление использования цены при повторном ключевом обновлении, который обновляет продукт только в случае изменения цены. Кроме того, первичный ключ - это номер модели, но если у меня есть несколько продавцов, у которых одинаковый номер модели, но с другой ценой, я считаю, что при обновлении таблицы база данных будет запутана, так как будут дубликаты model_number.
Должен ли я предоставить каждому продавцу уникальный ключ для своего продукта? например, если у продавца_1 есть первичный ключ продавца_1 и сохранить это значение таким же, чтобы база данных знала, чтобы обновить, изменилось ли поле цены продавца_1.
Благодаря
Я так считаю. Я не буду сталкиваться с проблемой при запуске 'on duplicate key update'? –
Пока вы не вставляете строку с продавцом model_nr и продавцом, который уже находится в БД в одной строке, поскольку эта строка уникальна. – nyvaken
Нет, как я обновляю таблицу, создавая временную таблицу, используя ту же структуру, что и таблица цен, а затем обновляю таблицу цен из таблицы цен temp. Это хороший способ сделать это? –