gpt4 book ai didi

sql - INSERT 语句与 FOREIGN KEY 约束冲突

转载 作者:搜寻专家 更新时间:2023-10-30 23:14:09 24 4
gpt4 key购买 nike

我搜索过此类问题,但遗憾的是没有找到任何解决方案。

当我尝试在我的应用程序中创建联系人时出现错误

The INSERT statement conflicted with the FOREIGN KEY constraint "FK_Contacts_UserProfile". The conflict occurred in database "ContactAppContext", table "dbo.UserProfile", column 'UserId'.

我想将 UserIdContacts 表相关联

我的表格是这样的:

CREATE TABLE [dbo].[Contacts] (
[ContactId] INT IDENTITY (1, 1) NOT NULL,
[UserId] INT NOT NULL,
[FirstName] NVARCHAR (MAX) NOT NULL,
[LastName] NVARCHAR (MAX) NOT NULL,
[Address] NVARCHAR (MAX) NOT NULL,
[City] NVARCHAR (MAX) NOT NULL,
[Phone] NVARCHAR (MAX) NOT NULL,
[Email] NVARCHAR (MAX) NOT NULL,
CONSTRAINT [PK_dbo.Contacts] PRIMARY KEY CLUSTERED ([ContactId] ASC),
CONSTRAINT [FK_Contacts_UserProfile] FOREIGN KEY ([UserId]) REFERENCES [dbo].[UserProfile] ([UserId])
);

CREATE TABLE [dbo].[UserProfile] (
[UserId] INT IDENTITY (1, 1) NOT NULL,
[UserName] NVARCHAR (56) NOT NULL,
PRIMARY KEY CLUSTERED ([UserId] ASC),
UNIQUE NONCLUSTERED ([UserName] ASC)
);

如图所示,UserId存在于UserProfile

pic

那我做错了什么?

编辑 1
@亚历山大·费多连科
你是说这段代码?

SET IDENTITY_INSERT [dbo].[UserProfile] ON
INSERT INTO [dbo].[UserProfile] ([UserId], [UserName]) VALUES (1, N'admin')
INSERT INTO [dbo].[UserProfile] ([UserId], [UserName]) VALUES (2, N'test')
INSERT INTO [dbo].[UserProfile] ([UserId], [UserName]) VALUES (3, N'user')
SET IDENTITY_INSERT [dbo].[UserProfile] OFF

@Sachin 我怎样才能确定,当我尝试插入 Contact 表时,它应该出现在 UserProfile 表中?例如,我有一个 UserId = 3 的用户,他已登录,当他插入数据时,创建的联系人将与该用户相关。

编辑 2
因此,当我在 View 中为 UserId 创建一个编辑器字段时,它似乎在工作,当我指定 UserId 时,数据已创建,但我没有希望在创建联系人页面中存在 UserId 的编辑器字段,因为用户编写他的 UserId 很不方便。那么是否可以将UserId关联到登录用户,例如当他创建数据时,他不需要指定他的UserId,而是记录会自动保存使用他的 ID 到数据库?

最佳答案

您需要先向 UserProfile 表添加数据,或者在插入数据时临时禁用外键约束。

您的表已设置为联系人表引用 UserProfile 表,因此需要在 UserProfile 中输入才能插入联系人。

这样看:如果您不先在 UserProfile 表中生成它,您怎么知道要输入到 Contacts 表中的 UserID 是什么?

关于sql - INSERT 语句与 FOREIGN KEY 约束冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16758076/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com