SQL 服务器:更新关系 Table

SQL Server : UPDATE Relation Table

我想更新书和名为 R_Kital_Al 的用户之间的关系 table 但是我收到这个错误;

System.Data.SqlClient.SqlException (0x80131904): Cannot insert duplicate key row in object 'dbo.R_Kitap_Al' with unique index 'IX_Kitap_Al'. The duplicate key value is (15).

我该如何解决这个错误?

private void Update_Click(object sender, EventArgs e)
{
        SqlConnection conn = new SqlConnection(@"Data Source=HP\SQLEXPRESS;Initial Catalog=Kütüphane;Integrated Security=True");

        conn.Open();
        SqlCommand cmd = new SqlCommand("UPDATE R_Kitap_Al SET SSN=@SSN,Book_No=@Book_No,BaslamaTarihi=@BaslamaTarihi,BitisTarihi=@BitisTarihi", conn);
        DateTime dt = new DateTime();
        cmd.Parameters.AddWithValue("@SSN",dataGridView1.CurrentRow.Cells[0].Value);
        cmd.Parameters.AddWithValue("@Book_No",book_NoTextBox.Text);
        cmd.Parameters.AddWithValue("@BaslamaTarihi",baslamaTarihiDateTimePicker.Value);
        dt = Convert.ToDateTime(baslamaTarihiDateTimePicker.Value);
        dt = dt.AddDays(0);
        bitisTarihiDateTimePicker.Value = dt.AddDays(15);
        cmd.Parameters.AddWithValue("@BitisTarihi", bitisTarihiDateTimePicker.Value);

        cmd.ExecuteNonQuery();
        this.Hide();
        R_Kitap_Al kit = new R_Kitap_Al();
        kit.ShowDialog();
        this.Close();
}

没有 where 子句,因此您要用指定的值更新 table 中的每一行。这些列之一是主键还是外键?

我们不能在唯一唯一键中插入重复值。

因此,在您的 table 'SSN' 'Book_No' 列可能是唯一的。 请检查 '15' 是否存在于列 'SSN''Book_No'

请从提及列中删除唯一键或尝试使用不同的值而不是 15 进行更新。