我遇到以下SQL命令返回列名而不是列中的值的问题。
string sql = "SELECT @resource FROM db1.stuff WHERE (username = @userid)";
MySqlCommand cmd = new MySqlCommand(sql, command); //command was set earlier
cmd.Parameters.AddWithValue("@resource", "cash");
cmd.Parameters.AddWithValue("@userid", "testguy");
connection.Open();
var result = cmd.ExecuteScalar();
结果返回“现金”。
如果我删除@resource并将其替换为“cash”,我会得到所需的值。
我做错了吗?如何使用参数化值使其工作?