牛腩购物网25:购物车的实现,订单表,订单详情表,建立外键和级联删除,记住一定要写 !page.ispostback 回发判断

第一部分:订单表,订单详情表的建立,外键,级联删除

购物车涉及到2个表

image

商品订单表: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这个主键。我们来做一个级联删除,也就是说,

当我们的订单表删除的时候,那么对应的订单详情表也删除。

步骤如下: 选中订单详情表,点击设计

image

选中外键 orderid ,右键选择关系

image

image

将主表选择为 shop_order 表的 id  ,外检表 shop_orderdetails 表的 orderid

image

最后,在 insert 和 update 规范里面的  删除规则里面  ,选择级联。

image

最后记得要保存 shop_orderdetails 表。

image

这样就能看到外键了

image   我们选择创建create代码到新窗口看看代码

可以很明显的看到外键约束和级联删除

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的记录,都会被删除。

 

 

posted @ 2012-04-12 18:07  asp_net老友记  阅读(1169)  评论(0编辑  收藏  举报