当前位置: 首页 > 面试题库 >

SQL与FOREIGN KEY约束冲突

白子默
2023-03-14
问题内容

我试图在数据库上运行一些更新脚本,但出现以下错误:

ALTER TABLE语句与FOREIGN KEY约束“ FK_UPSELL_DT_AMRNO_AFMKTG_REF”冲突。数据库“
ECOMVER”的表“ dbo.AFFILIATE_MKTG_REF”的列“ AMRNO”中发生了冲突。

我正在运行以下脚本:

ALTER TABLE [dbo].[UPSELL_DATA]  WITH CHECK ADD 
        CONSTRAINT [FK_UPSELL_DT_AMRNO_AFMKTG_REF] FOREIGN KEY
        (
          [AMRNO]
        ) REFERENCES [dbo].[AFFILIATE_MKTG_REF] (
          [AMRNO]
        )
GO

AMRNO是表AFFILIATE_MKTG_REF中的PK。

另外,我尝试使用SQL Management Studio中的Modify table选项创建外键关系,但遇到了相同的错误。我不确定我应该寻找什么?

任何建议将不胜感激。


问题答案:

您可能在[dbo]。[UPSELL_DATA]表中有记录,但[dbo]。[AFFILIATE_MKTG_REF]表的[AMRNO]列中没有[AMRNO]列中的值。尝试这样的查询来查找那些没有匹配记录的查询:

select   *
from     [dbo].[UPSELL_DATA] u
left join [dbo].[AFFILIATE_MKTG_REF] m
on       u.AMRNO = m.AMRNO
where    m.AMRNO is null


 类似资料:
  • 问题内容: 我收到以下错误。请你帮助我好吗? 消息547,级别16,状态0,第1行 INSERT语句与FOREIGN KEY约束“ FK_Sup_Item_Sup_Item_Cat”发生冲突。在数据库“ dev_bo”的表“ dbo.Sup_Item_Cat”中发生了冲突。该语句已终止。 代码: 最后一列是导致该错误的原因。我试图将已经存在的值放入对应于sup_item的列中。 问题答案: 在您的

  • 问题内容: INSERT语句与CHECK约束“ ”冲突。在数据库“ C:\ DOCUMENTS AND SETTINGS \ KARTHIKEYAN \ DESKTOP \ KOK \ DB \ INFT3009_ASS1_C3104855.MDF”的表“ dbo.Members”的列“ ”中发生了冲突。该语句已终止。 我在Visual Studio 2008 Express中使用.MDF文件。我

  • 主要内容:创建约束,删除约束关于 SQL 约束,我们已经在《 RDBMS是什么》中进行了简要介绍,但是现在我们有必要再温习一下,并稍加深入。 约束(Constraint)是指表的数据列必须强行遵守的规则,这些规则用于限制插入表中的数据类型,这样能够确保每份数据的准确定和可靠性。 约束可以是列级别,也可以是表级别;列级约束仅作用于某一列,而表级约束则作用于整张表。 下面是 SQL 常用的一些约束: 约束 说明 NOT NULL

  • SQL 约束(Constraints) SQL 约束用于规定表中的数据规则。 如果存在违反约束的数据行为,行为会被约束终止。 约束可以在创建表时规定(通过 CREATE TABLE 语句),或者在表创建之后规定(通过 ALTER TABLE 语句)。 SQL CREATE TABLE + CONSTRAINT 语法CREATE TABLE table_name ( column_name1 dat

  • 为什么向表添加外键会导致此错误? ALTER TABLE语句与外键约束“FK_utbldomare_upersn_u5f7e2dac”冲突。冲突发生在数据库“almu0004”、表“dbo.tblBana”、列“BanNR”中。 密码

  • 我见过其他的链接错误,但没有一个能说明如何使用罐子。当我在Jboss中部署我的应用程序时,它可以正常工作,但当我将应用程序部署到websphere时,我遇到了这种链接错误。在这里可以找到一个类似的问题:调用webservice方法时出现LinkageError,但不确定如何修复它 它主要是从和加载的,带有共享类 我所拥有的是jsp调用Web服务。从消息中,我看到的唯一jars来自axis.jar,