2011-09-20 63 views
-1

可能重複:在C#中
Correct INSERT .. ON DUPLICATE KEY syntax?將參數傳遞給INSERT ..ON DUPLICATE UPDATE

哪一個是正確的語法將參數傳遞給插入...對重複密鑰更新? 我試過這樣

MySqlCommand cmd = new MySqlCommand("INSERT INTO table(ID,number,color) VALUES (@r,@c,@e) 
ON DUPLICATE KEY UPDATE table (number) VALUES (@c,@e) ", conn); 

cmd.Parameters.AddWithValue("@r", id); 
cmd.Parameters.AddWithValue("@c", a_name) 
cmd.Parameters.AddWithValue("@e", a_color) 

cmd.ExecuteNonQuery(); 

但這種語法是不正確的。有任何想法嗎?

+0

-1對於問同一個問題連續兩次。 – Johan

+0

@Johan沒有意識到這是重複的。投票也關閉它。 – Icarus

+0

@伊卡洛斯,另一個問題有一個非常隱晦的標題_(在編輯之前)_,所以很難僅使用標題來匹配它們。 – Johan

回答

1
INSERT INTO table(ID,number) VALUES (@r,@c) ON DUPLICATE KEY UPDATE number = @c 

因此,你應該是這樣的:

MySqlCommand cmd = new MySqlCommand("INSERT INTO table(ID,number) VALUES (@r,@c) ON DUPLICATE KEY UPDATE number = @c ", conn); 
+0

爲什麼是數字?如果我不得不處理一個字符串呢? – redfrogsbinary

+0

@redfrogsbinary'number'是你的專欄名稱,不是?你在你的插入語句中列出:'insert into table(ID,number)....' – Icarus

+0

ON DUPLICATE KEY UPDATE number = @c,color = @e會是正確的嗎? – redfrogsbinary

相關問題