zoukankan      html  css  js  c++  java
  • SQL Server 2005 在两个表之间创建多重外键, 会有一点点小问题.

    两个表 City 和ManYouRecord, 这两个表的主键字段都是OID , int类型, 自增长.
    ManyYouRecord中又两个字段ManYouRecord_CityOut_City_ConceptAssociation, ManYouRecord_CityIN_City_ConceptAssociation都外键参考City表,
    这两个外键的定义语句为:
    ALTER TABLE [dbo].[ManYouRecord]  WITH CHECK ADD  CONSTRAINT [ManYouRecord_CityOut_City_ConceptAssociation] FOREIGN KEY([ManYouRecord_CityOut_City_ConceptAssociation])
    REFERENCES [dbo].[City] ([OID])   ON DELETE NO ACTION


    ALTER TABLE [dbo].[ManYouRecord]  WITH CHECK ADD  CONSTRAINT [ManYouRecord_CityIN_City_ConceptAssociation] FOREIGN KEY([ManYouRecord_CityIN_City_ConceptAssociation])
    REFERENCES [dbo].[City] ([OID])  ON DELETE NO ACTION

    但是如果将两个外键的ON DELETE 属性都改为SET NULL, 就会出错,
    SQL Server 的异常信息如下:

    消息 1785,级别 16,状态 0,第 1 行
    将 FOREIGN KEY 约束 'ManYouRecord_CityOut_City_ConceptAssociation' 引入表 'ManYouRecord' 可能会导致循环或多重级联路径。请指定 ON DELETE NO ACTION 或 ON UPDATE NO ACTION,或修改其他 FOREIGN KEY 约束。
    消息 1750,级别 16,状态 0,第 1 行
    无法创建约束。请参阅前面的错误消息。

    郁闷一点点.. 还不知道为什么, 没办法只能用NO ACTION 顶着.

  • 相关阅读:
    DOM获取分辨率
    DataSnap被动断开客户端及主动断开客户端
    DOM的常用操作
    Apache Shiro官方的教程和文档
    maven jar 导入本地仓库
    Media Queries 媒体查询详解
    flash遮挡DIV元素的问题总结
    CSS样式字体 自动换行(强制换行)与强制不换行
    【推荐】万能清除浮动样式
    响应式网页设计
  • 原文地址:https://www.cnblogs.com/dunnice/p/867452.html
Copyright © 2011-2022 走看看