您的位置:首页 > 其它

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

2012-04-12 18:07 393 查看
第一部分:订单表,订单详情表的建立,外键,级联删除

购物车涉及到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 表。





这样就能看到外键了



我们选择创建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的记录,都会被删除。

.codearea{ color:black; background-color:white; line-height:18px; border:1px solid #4f81bd; margin:0; width:auto !important; width:100%; overflow:auto; text-align:left; font-size:12px; font-family: "Courier New","Consolas","Fixedsys","BitStream Vera Sans Mono", courier,monospace,serif}
.codearea pre{ color:black; line-height:18px; padding:0 0 0 12px !important; margin:0em; background-color:#fff !important}
.linewrap pre{white-space:pre-wrap; white-space:-moz-pre-wrap; white-space:-pre-wrap; white-space:-o-pre-wrap; word-wrap:break-word; word-break:normal}
.codearea pre.alt{ background-color:#f7f7ff !important}
.codearea .lnum{color:#4f81bd;line-height:18px}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: