更新SQL外键值触发UPDATE错误,请求排查解决
更新Reservations表外键id_room时操作失败,请求排查
尝试更新Reservations表中指定id_reservation的id_room字段值为idRoom变量内容时,UPDATE操作执行失败,已通过谷歌搜索未找到有效解决方案,需帮忙排查问题。
执行的C#及SQL代码
data = "UPDATE Reservations SET id_room = @idRoom FROM Reservations WHERE id_reservation = @idReservation"; using (SqlCommand cmd = new SqlCommand(data, con)) { cmd.Parameters.AddWithValue("@idRoom", idRoom); cmd.Parameters.AddWithValue("@idReservation", idReservationTxtBox.Text); cmd.ExecuteNonQuery(); }
关联表结构
Reservations表
CREATE TABLE [dbo].[Reservations] ( [id_reservation] INT IDENTITY (1, 1) NOT NULL, [n_card] VARCHAR (16) NOT NULL, [cardholder_name] TEXT NOT NULL, [expiration_date] DATE NOT NULL, [cvc] VARCHAR (3) NOT NULL, [id_room] INT NOT NULL, [reserva_price] FLOAT (53) NOT NULL, [check-in] DATETIME NOT NULL, [check-out] DATETIME NOT NULL, CONSTRAINT [PK_Reservas] PRIMARY KEY CLUSTERED ([id_reservation] ASC), CONSTRAINT [FK_Reservations_Rooms] FOREIGN KEY ([id_room]) REFERENCES [dbo].[Rooms] ([id_room]) );
Rooms表
CREATE TABLE [dbo].[Rooms] ( [id_room] INT IDENTITY (1, 1) NOT NULL, [n_room] INT NOT NULL, [type_room] TEXT NOT NULL, [available] BIT NOT NULL, CONSTRAINT [PK_Rooms] PRIMARY KEY CLUSTERED ([id_room] ASC) );
补充材料
已提供以下截图:
- SQL错误信息截图
- Reservations和Rooms表的结构及数据截图
- idRoom变量定义截图
内容的提问来源于stack exchange,提问作者bagaco
相关产品推荐
相关产品推荐

