Как добавить информацию в сеанс данных корзины покупок в базу данных?
У меня есть корзина покупок, и я хотел сохранить информацию о корзине покупок в своей базе данных, но я понятия не имею, как это сделать, поскольку у меня нет способа определить, сколько товаров мой покупатель добавил бы в свою корзину покупок.
То, что я имею в виду, будет иметь неуникальный ключ в качестве идентификатора корзины. IE
ID / book / price / quantity
1/harry potter/19.90/1
1/deadly hollows/49.90/1
и оба идентификатора 1 будут представлять собой полную корзину для покупок. Будет ли что-то не так с этим способом?
2 ответа
Неуникальный ключ не является хорошим решением.
Я бы добавил ключ автоинкремента к таблице корзины покупок и использовал бы его как "настоящий" уникальный ключ.
Просто сохраните свой неуникальный идентификатор как есть, чтобы вы могли использовать его в качестве идентификатора заказа, чтобы увидеть, какие строки принадлежат одному и тому же порядку.
Как это:
UniqueID / OrderID / book / price / quantity
1/1/harry potter/19.90/1
2/1/deadly hollows/49.90/1
3/2/code complete/25.90/2
У вас должен быть первичный ключ, который уникален, но может охватывать несколько столбцов:
Вероятно, вы могли бы использовать ID и книгу в качестве первичного ключа, поскольку в каждой корзине не будет 2 копии одной и той же книги, потому что это просто обновит количество, а не добавит новую строку.