为什么我在试图截断MySQL表时(使用MySQL Connector/Net)会出现异常?我正在试图给一个参数的表名。MySQL截断带参数不起作用的命令
这是我执行的代码:
var connectionString = "Server="+_server+";Uid="+_user+";Pwd="+_password+";Database="+_database+";";
try
{
using (var conn = new MySqlConnection(connectionString))
{
conn.Open();
const string sql = "TRUNCATE TABLE @tablename"; // also tried with TRUNCATE @tablename
var cmd = new MySqlCommand(sql, conn);
cmd.Parameters.AddWithValue("@tablename", "test");
cmd.ExecuteNonQuery();
conn.Close();
}
}
catch (MySqlException ex)
{
Console.WriteLine(ex.ToString());
}
这是execption:
MySql.Data.MySqlClient.MySqlException(0X80004005):你有一个错误 您SQ L语法;检查对应于你的MySQL 服务器版本在1号线
使用近“”测试“”当我尝试选择查询正确的语法手册,例如,那么我没有任何问题。这运行良好,并返回正确的数据:
conn.Open();
const string sql = "SELECT body FROM test WHERE [email protected]";
var cmd = new MySqlCommand(sql, conn);
cmd.Parameters.AddWithValue("@pid", 1);
cmd.ExecuteScalar();
conn.Close();
给出无参数的表名称的结果是什么? 'var cmd =“TRUNCATE TABLE test”' –