熟悉ASP.NET的时候,拿Northwind这个数据库为例子选中Customers这个表来具体练手现在想根据CustomerID来删除Customers表中的一个条目可是提示出现DELETE与约束冲突Customers表,Orders表,OrderDetail表互相关联Customers表===Orders表===OrderDetail表
         CustomerID     OrderID删除Customers表中的CustomerID,会导致Orders表,OrderDetail表出现无意义的条目这样的情况怎么删除Customers表中的一个条目???
情况有点乱,不知道说清楚了吗,对照Northwind示例数据库看一下,会比较清楚

解决方案 »

  1.   

    也就是需要按照下面的这个顺序,逐个手工删除了
    OrderDetail表->Orders表->Customers表
    请教一下刚才你所说的级联删除是怎么定义的,谢谢~~~
      

  2.   

    ......级联关系是 数据库中定义的!
    只的是数据表中的一些字段与另外的数据表中的字段相关联,一般是不允许级联操作的!
    方法就是从 从表开始删起!估计你的SQL语句没有问题,你大可以自己建个数据库来试试。
      

  3.   

    我在数据库中尝试删除的时候
    也是提示冲突:消息 547,级别 16,状态 0,第 1 行
    DELETE 语句与 REFERENCE 约束"FK_Orders_Customers"冲突。该冲突发生于数据库"Northwind",表"dbo.Orders", column 'CustomerID'。
    语句已终止。----------------
    FK_Orders_Customers这个约束条件在哪里?怎么查看和修改
      

  4.   

    可以在创建表的外键时指定 on Delete Cascade选项(应该也可以在修改表的约束语法中指定)如果想在数据库修改(默认你的数据库为SQL Server 2000)打开你的企业管理器 -- 点Northwind数据库下的表 -- 鼠标右键 右边的Customers表 设计表 --点击 工具栏倒数第三个按钮(管理关系) 在这里你可以看到 约束"FK_Orders_Customers"你可以选择下面的"级联删除相关的字段" (默认是未选中)
      

  5.   

    谢谢~~~问题解决了我实用的是免费版本的2005按照高歌的提示,我把两个约束进行了调整,设置为层叠方式现在几个关联的表就实现了关联表的一个联动
    -----------------------------------SQL SERVER果然和ACCESS不一样,呵呵,别笑话我啊~~~给分~~~结贴!