我有一个数据库。但是每当我试图从购物页面向购物车表中添加商品时,我发现如果经常点击该商品的添加按钮,同一商品就会被多次添加到表中。有没有一种方法,每当用户点击某个商品的添加按钮时,如果该商品已经被添加到购物车表中,那么就不能再添加。
让你的主键(cart_id,product_id)。如果用户试图将现有的产品添加到购物车中,然后递增数量。
create table cart_items (
cart_id int,
product_id int,
quantity int default 1,
primary key (cart_id, product_id)
);
insert into cart_items (cart_id, product_id) values
(1,1)
on duplicate key update quantity = quantity + 1;
insert into cart_items (cart_id, product_id) values
(1,1)
on duplicate key update quantity = quantity + 1;
你要添加产品的表的结构是什么?你可以在(userId,productId)列组合上设置一个唯一索引。这将防止同一产品被添加多次。你可能想查看 插入......重复键更新时 句法,但。