C # MySQL-Parameter:? oder @

Ich bin irgendwie verwirrt mit den MySQL-Parametern.

Die beiden folgenden Teile meines Codes funktionieren einwandfrei. Der erste verwendet Parameter mit@ :

const string query = "UPDATE `items` SET `name` = @name, `price` = @price WHERE `id` = @id";
try
{
    using (MySqlCommand cmd = new MySqlCommand(query, Database.MyConnection))
    {
        cmd.Parameters.AddWithValue("name", name);
        cmd.Parameters.AddWithValue("price", price);
        cmd.Parameters.AddWithValue("id", id);
        cmd.ExecuteNonQuery();
    }
}

Zweitens verwendet Parameter mit? :

const string query = "UPDATE `items` SET `name` = ?name, `price` = ?price WHERE `id` = ?id";
try
{
    using (MySqlCommand cmd = new MySqlCommand(query, Database.MyConnection))
    {
        cmd.Parameters.AddWithValue("name", name);
        cmd.Parameters.AddWithValue("price", price);
        cmd.Parameters.AddWithValue("id", id);
        cmd.ExecuteNonQuery();
    }
}

Diese Antworten sag beides@ oder? funktioniert gut. Sogarcmd.Parameters.AddWithValue("@name", name); scheint zu funktionieren (beachte das@ im Namen).

Warum funktionieren alle gut mit MySQL?

Gibt es einen Unterschied zwischen ihnen?

Welches ist der richtige Weg, um mit MySQL zu arbeiten?

Vielen Dank für jede Hilfe, die ich bekommen werde.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage