Параметры C # MySQL: или же @

Я как-то запутался с параметрами MySQL.

Обе следующие части моего кода работают нормально. Первый использует параметры с@ :

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();
    }
}

Второй использует параметры с? :

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();
    }
}

Эти ответы скажи оба@ или же? отлично работает Четныйcmd.Parameters.AddWithValue("@name", name); кажется, работает (обратите внимание на@ во имя).

Почему все они отлично работают с MySQL?

Есть ли разница между ними?

Какой из них является правильным способом использования с MySQL?

Спасибо за любую помощь, которую я получу.

Ответы на вопрос(3)

Ваш ответ на вопрос