爲什麼我在試圖截斷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」' –