Структура таблицы корзины и обновление только определенного элемента в корзине - PullRequest
0 голосов
/ 15 июня 2009

Я пытаюсь создать базу данных для простой онлайн-корзины. Я не понимаю, что поместить в корзину для покупок за столом. Разве не нормально создать идентификатор корзины в качестве первичного ключа? И позже, при обновлении товаров в корзине, какая логика будет подходящей для обновления только измененного поля (скажем, количества) конкретного товара? Пожалуйста, помогите мне в этом.

Ответы [ 2 ]

0 голосов
/ 13 июля 2009

Не храните информацию о вашей корзине в базе данных, вы не хотите делать запрос ОБНОВЛЕНИЕ всякий раз, когда кто-то добавляет что-то в свою корзину или изменяет количество.

Использование сеанса для хранения массива номеров элементов (относительно идентификаторов элементов базы данных) и их количества.

Когда пользователь готов к «оформлению заказа», просто извлеките информацию об элементе из вашего сеанса и создайте «заказ».

0 голосов
/ 15 июня 2009

Искусственный PK (такой как cartID, целое число с автоинкрементом PRIMARY KEY) почти всегда "просто отлично" (и я не понимаю, почему таблица корзин покупок должна отличаться другие). Что касается вашего другого вопроса - какие у вас признаки того, какие поля были изменены? Почему вообще возникнет проблема с UPDATE таблицей с каждым полем, включая те, которые не были изменены?

...