Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# UPDATE语句与外键约束Visual Studio 2019冲突_C#_Sql Server_Foreign Keys_Visual Studio 2019 - Fatal编程技术网

C# UPDATE语句与外键约束Visual Studio 2019冲突

C# UPDATE语句与外键约束Visual Studio 2019冲突,c#,sql-server,foreign-keys,visual-studio-2019,C#,Sql Server,Foreign Keys,Visual Studio 2019,完整错误: System.Data.SqlClient.SqlException:UPDATE语句与外键约束“FK\UU Product\UU Categor\UU 1FCDBCEB”冲突。冲突发生在数据库“dbi416547_i416547\”表“dbo.Category\”列“CategoryID”中 现在我试着查找,发现: 但是我不知道如何在VisualStudio2019中修改外键。此外,我不明白使用t-SQL将规则放在哪里,因为我的表如下所示: CREATE TABLE [dbo].[

完整错误:

System.Data.SqlClient.SqlException:UPDATE语句与外键约束“FK\UU Product\UU Categor\UU 1FCDBCEB”冲突。冲突发生在数据库“dbi416547_i416547\”表“dbo.Category\”列“CategoryID”中

现在我试着查找,发现:

但是我不知道如何在VisualStudio2019中修改外键。此外,我不明白使用t-SQL将规则放在哪里,因为我的表如下所示:

CREATE TABLE [dbo].[Product] 
(
    [ProductID]   INT          IDENTITY (1, 1) NOT NULL,
    [UserID]      INT          NOT NULL,
    [Name]        NVARCHAR(50) NOT NULL,
    [Price]       DECIMAL(18)  NOT NULL,
    [Description] NVARCHAR(50) NOT NULL,
    [CategoryID]  INT          NOT NULL,
    [Photo]       NVARCHAR(50) NULL,
    [Likes]       INT          NULL,

    PRIMARY KEY CLUSTERED ([ProductID] ASC),

    FOREIGN KEY ([UserID]) REFERENCES [dbo].[User] ([UserID]),
    FOREIGN KEY ([CategoryID]) REFERENCES [dbo].[Category] ([CategoryID])
);

如果我把它放在()下面或之间,仍然会出现错误。有什么建议吗?

看起来您首先需要将数据插入类别表。@RohanRao Nope-将同一行添加到产品中两次不会导致此FK错误。问题不在于表及其定义。问题在于(大概)代码中没有显示的代码。您为CategoryID提供了一个在类别表中不存在的值。是的,问题在于CategoryID是从枚举转换而来的,并且由于枚举以0开头,因此出现了一个错误,谢谢:p