第一部分:订单表,订单详情表的建立,外键,级联删除
购物车涉及到2个表
商品订单表:shop_order: 实际订单的总费用=运费+商品订单详情费用
id,createdate,orderbh,username,recname,postcode,address,phone,email,sendtype,paytype,fp,remark,sendmoney,detailsmoney
自增ID,时间,订单号(给客户查询用的),用户名,接收人,邮编,地址,电话,邮箱,送货方式,支付方式,是否需要发票,说明,运费,订单详情的费用
商品订单详情表:shop_orderdetails:id,createdate,orderid,proid,price,quantity
自增ID,时间,订单ID,商品ID,商品价格,商品数量
当我们创建 订单详情表的时候,订单详情表的orderid,实际上是一个外键,他关联的是 订单表 shop_order 表的 id这个主键。我们来做一个级联删除,也就是说,
当我们的订单表删除的时候,那么对应的订单详情表也删除。
步骤如下: 选中订单详情表,点击设计
选中外键 orderid ,右键选择关系
将主表选择为 shop_order 表的 id ,外检表 shop_orderdetails 表的 orderid
最后,在 insert 和 update 规范里面的 删除规则里面 ,选择级联。
最后记得要保存 shop_orderdetails 表。
这样就能看到外键了
可以很明显的看到外键约束和级联删除
ALTER TABLE [dbo].[shop_orderdetails] WITH CHECK ADD CONSTRAINT [FK_shop_orderdetails_shop_order] FOREIGN KEY([orderid]) REFERENCES [dbo].[shop_order] ([id]) ON DELETE CASCADE GO ALTER TABLE [dbo].[shop_orderdetails] CHECK CONSTRAINT [FK_shop_orderdetails_shop_order] GO
这样的话,如果是shop_order 删除了一行记录,那么对应这个ID的 shop_orderdetials 表里面的orderid的记录,都会被删除。