有没有一种方法可以在不使用参数化查询的情况下在C#.net程序的MySQL查询中使用@字符?
因此,例如在以下程序中
String s =
@"LOAD DATA LOCAL INFILE C:\foo.txt'
INTO TABLE Bar
(idFoo, @baa)
SET
baa = nullif(@baa,'')
";
MySqlCommand myCommand = new MySqlCommand(s, myConnection);
MySqlDataReader myReader = myCommand.ExecuteReader();
@baa被视为参数。即:就像打电话时使用的
myCommand.Parameters.Add("@baa", SqlDbType.VarChar );
但是在这种情况下,我不想将@baa用作参数。我该怎么写?
最佳答案
MySQL使用反引号字符来引用带有空格或其他特殊字符的令牌。例如,这用于处理带有空格等的字段名称。
因此,在您的代码中,您希望@baa
引用字段名称的地方,在该名称周围放置反引号字符,如下所示:`@baa`