這裏的表設計的cartitems表使用WHERE在對重複密鑰更新列第
cartitems
cartitem_id PK AI
customer_id FK
item_id FK UNIQUE
item_quantity INT DEFAULT 1
我需要完成
1)如果存在item_id
什麼表增加item_quantity
每次用戶點擊「加入購物車「按鈕爲相同item_id
2)如果item_id
尚不存在,則運行insert語句。
所以我做了這個。
CREATE DEFINER=`root`@`localhost` PROCEDURE `addItemToCart`(aCustomerId int, aProductId int)
BEGIN
INSERT INTO cart_items(customer_id,product_id)
VALUES(aCustomerId,aProductId)
ON DUPLICATE KEY UPDATE
item_quantity = item_quantity + 1
WHERE customer_id = aCustomerId AND item_id = aProductId;
END
但是,當我檢查了,我得到一個錯誤,指出,在missing semicolon
item_quantity = item_quantity + 1
我無法弄清楚是什麼導致了錯誤。我不知道WHERE
條款是否有問題。
我很感激任何幫助。
謝謝。