我正在使用唯一密鑰寫入MySQL數據庫。理想情況下,如果具有該鍵的行已經存在,我可以更新要更新的列。看起來像這樣:VB.Net使用唯一密鑰更新MySQL
INSERT INTO read_initial(column1,column2) VALUES (%s, %s) ON DUPLICATE KEY UPDATE column1 = VALUES(column1value);
我一直在試圖找到這個vb.net變化。目前我正在運行截斷並再次寫入所有內容,但這顯然不理想。
目前對我使用的插入:
Using SQLConnection As New MySqlConnection(myBuilder.ConnectionString)
Using sqlCommand As New MySqlCommand()
With sqlCommand
.CommandText = "INSERT INTO read_initial (`column1`, `column2`,) values (@column1value,@column2value)"
.Connection = SQLConnection
.CommandType = CommandType.Text
.Parameters.AddWithValue("@column1", "column1value")
.Parameters.AddWithValue("@column2", column2value)
我試圖改變在CommandText到
.CommandText = "INSERT INTO read_initial (`column1`, `column2`,) values (@column1value,@column2value) ON DUPLICATE KEY (`column1`) values (@column1value)"
但這似乎並不正確。我會很感激這方面的任何指針。我唯一的其他回退是通過套接字將所有內容發送到Python腳本,並讓它處理插入,但這似乎很迂迴,當它可能只是我在這裏有錯誤的語法。
「這似乎並不是正確的」。你能解釋爲什麼不呢?你有錯誤還是記錄未更新? – Mr47