我正在使用一個使用MySQL數據庫的C#應用程序。我試圖插入一個表2個的外鍵,但我得到一個錯誤:MySQL插入到帶有2個外鍵的表中
不能添加或更新子行,外鍵約束失敗(thedatabase
tblC
,約束tblC_ibfk_1
外鍵(ID
)引用。 tblA
(ID
)ON DELETE NO ACTION ON UPDATE CASCADE)
表結構是
TBLA - ID,COL2,COL3,COL4 ...
TBLB - ID,COL2,COL3,COL4。 ..
TBLC - tblA.ID,tblB.ID,COL3,COL4,COL5 ...
我看過了論壇,併爲我的生命,我找不到的語法,使這行得通。
這是我用來連接。我已經確認ID存在於父表中。
//Connect to the database
MySqlConnection connection = new MySqlConnection(connectionString);
MySqlCommand cmd;
connection.Open();
//Insert new record into database
cmd = connection.CreateCommand();
cmd.CommandText = "INSERT INTO tblC(tblA_ID, tblB_ID, col3, col4, col5) VALUES(@tblA_ID, @tblB_ID, @col3, @col4, @col5);";
cmd.Parameters.AddWithValue("@tblA_ID", tblA_ID);
cmd.Parameters.AddWithValue("@tblB_ID", tblB_ID);
cmd.Parameters.AddWithValue("@col3", col3);
cmd.Parameters.AddWithValue("@col4", col4);
cmd.Parameters.AddWithValue("@col5", col5);
cmd.ExecuteNonQuery();
connection.Close();
嘗試發佈一些代碼以及錯誤消息。你在使用實體框架嗎?它是一個網絡應用程序? – 2015-04-03 22:29:14
不是一個Web應用程序,只是一個普通的C#應用程序。數據庫是爲了以後與本地web應用程序共享(mysql的原因)。 – Beaker 2015-04-03 23:06:05
您是否嘗試過手動運行sql? – 2015-04-04 07:46:19