У меня есть следующий запрос на обновление, который запускается, когда пользователь входит в свою учетную запись, размещая элементы в своей корзине до входа в систему (временная учетная запись, настроенная в таблице) ...MySql - Избегайте дублирования записей при обновлении
UPDATE cart_items SET account_id=$account WHERE account_id=$cookieId;
Это иногда создает повторяющиеся результаты ищут что-то вроде этого:
id | account_id | itemNumber | itemQuantity
------------------------------------------
20 | 10 | 6 | 2
25 | 10 | 6 | 1
То, что я хотел бы сделать я написать запрос, который позволяет избежать создания этих повторяющихся записей и просто оставляет одну запись, как это:
id | account_id | itemNumber | itemQuantity
------------------------------------------
20 | 10 | 6 | 3
Я думаю, что использование DUPLICATE KEY UPDATE
может быть тем, что я ищу, но я не могу обойти его. Может ли кто-нибудь помочь мне, пожалуйста?
Привет и спасибо за отзывы ... Вот логика моего запроса. Пользователь (не входит в систему) добавляет элементы в свою корзину, и такая запись делается в таблице учетных записей пользователей и в таблице cart_items. Этот идентификатор хранится как файл cookie на своей машине. Однако, если у этого пользователя есть учетная запись и затем входит в систему, я хочу объединить элементы корзины зарегистрированной учетной записи и временную учетную запись на основе файлов cookie, а затем удалить временную учетную запись из базы данных. Имеет ли это смысл? – Tom
Это имеет смысл. Я постараюсь предложить лучшее предложение. Я на работе, поэтому я посмотрю, что мне разрешает мой кофе. – Jonast92
Ha! Благодарю. Это не очень актуально (пока), поэтому не слишком подчеркивайте. – Tom