我现在处于相当不利的状态,基本上我正在尝试插入一个带有两个ID的中间表,但我不断得到SQL异常:
SQL错误:INSERT语句与FOREIGN KEY约束冲突" FK_beca_seguridad_roles_usuarios_beca_seguridad_roles"。冲突发生在数据库" beca_becademic",table" dbo.beca_seguridad_roles",column' id_rol'。
现在,我不是那么精通SQL,数据库是我的小组成员之一,问题是他不能告诉我什么是错的以及如何解决它。从那里我在其他问题中瞥见问题是dbo.beca_seguridad_roles
表中没有id_rol
列的记录。
问题是,以下FK_beca_seguridad_roles_usuarios_beca_seguridad_roles
正在引用与此usuarios
操作无关的表(INSERT
)。
我希望有人能够看到该表的代码并告诉我问题所在,以便我可以更改表格,我们在服务器管理上使用Azure,这样我就无法访问设计,上次我试图删除一行代码,使用这个表的整个节点都向南。
这是表格代码:
CREATE TABLE [dbo].[beca_seguridad_roles](
[id_rol] [int] IDENTITY(1,1) NOT NULL,
[nombre] [nvarchar](45) NOT NULL,
[descripcion] [nvarchar](max) NULL,
[intervencion] [int] NOT NULL,
CONSTRAINT [PK_beca_seguridad_roles_id_rol] PRIMARY KEY CLUSTERED
(
[id_rol] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
)
GO
ALTER TABLE [dbo].[beca_seguridad_roles] WITH NOCHECK ADD CONSTRAINT [beca_seguridad_roles$fk_beca_seguridad_roles_beca_seguridad_intervenciones1] FOREIGN KEY([intervencion])
REFERENCES [dbo].[beca_seguridad_intervenciones] ([id_intervencion])
GO
ALTER TABLE [dbo].[beca_seguridad_roles] CHECK CONSTRAINT [beca_seguridad_roles$fk_beca_seguridad_roles_beca_seguridad_intervenciones1]
GO
编辑:
以下是我使用的存储过程:
INSERT INTO dbo.beca_seguridad_permisos_de_roles (id_permiso, id_rol)
VALUES (@id_permiso, @id_rol)
答案 0 :(得分:0)
Fixe'd
我正在调用他在我的代码中使用非常相似但不同名称插入的方法,错误与数据库无关,非常感谢那些试图帮助他们耐心和洞察力的人。