Using HeidiSQL, I update a table with multiple duplicates using this query:
INSERT INTO ach_progress (user_id, app_id, ach_name, unlock_time) VALUES (123456, 123456, '3', '2024-04-23 13:59:31'), (234567, 234567, '4', '2024-04-23 15:05:36') ON DUPLICATE KEY UPDATE ach_name = ach_name
It returns “0 affected rows”.
With the same query in C# (using the MySQL connector 8.0.23):
public static int Insert(string s_Query)
{
int i_Result = 0;
using (MySql.Data.MySqlClient.MySqlConnection conn = new MySql.Data.MySqlClient.MySqlConnection(myConnectionString))
{
using (MySqlCommand myCommand = new MySqlCommand(s_Query, conn))
{
conn.Open();
i_Result = myCommand.ExecuteNonQuery();
}
}
return (i_Result);
}
I get i_Result = number of tried inserts.
Unfortunately I need to know if I inserted rows for the rest of my program.
Running the query directly works but the issue seems to stem from ExecuteNonQuery.
I’ve tried searching answers for the same issue but probably could not phrase it well as it did not return any result.