真正项目中的购物车表设计(经过多次生产实践了)
CREATE TABLE `shop_cust_cart` ( `cod_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', `cod_cust_cart` varchar(32) COLLATE utf8mb4_bin NOT NULL COMMENT '购物车编号', `cod_cust_id` varchar(32) COLLATE utf8mb4_bin NOT NULL COMMENT '客户编号', `cod_item_id` varchar(32) COLLATE utf8mb4_bin NOT NULL COMMENT '商品编号', `cod_item_quantity` smallint(6) NOT NULL DEFAULT '1' COMMENT '商品数量', `cod_merchant_no` varchar(32) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '商家编号', `bol_selected` char(1) COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'y代表已勾选,n代表未勾选', `dat_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `cod_create_user` varchar(32) COLLATE utf8mb4_bin NOT NULL COMMENT '创建人员', `dat_modify` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '维护时间', `cod_modify_user` varchar(32) COLLATE utf8mb4_bin NOT NULL COMMENT '维护人员', `ctr_update_srlno` int(11) DEFAULT '0' COMMENT '维护序号', PRIMARY KEY (`cod_id`), UNIQUE KEY `in_shop_cust_cart_1` (`cod_cust_cart`), ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT='客户-购物车';
-- 购物车的表设计:购物车对于用过淘宝的人来说都不会陌生了,但开发中的购物车和实际上的是不一样的,大家可能会认为,购物车对于每个用户只会有一个购物车
-- 这在开发中是不合理的,开发中,一条主商品信息就是一个购物车,赠品是不存到购物车表的,赠品是通过主商品来实时查询出来的
-- 开发中,表设计,一般不会使用id作为业务主键,所以都会重新新弄个业务编号,如下面的购物车编号,好处是,如果是id递增,习惯每个表设计都会加一个版本号,方便使用乐观锁
-- 购物车需要一个勾选状态,勾选后,每次打开都会记录哪些是选中的,到时下单时,会带这些选中商品到订单确认页

更多精彩