这是一个示例SQL,为了这个问题。 (实际的SQL比这个更复杂)
SET @HELLO = 1;
SELECT @HELLO;
如你所见。 @HELLO
是一个MySQL变量,但.NET MySQLCommand将其视为占位符,而不是绑定值。无论如何我可以在.NET中使用MySQL变量吗?
答案 0 :(得分:3)
查看以下MySql.Data.MySqlClient.MySqlException: Parameter ‘@id’ must be defined
哪个州
最后,我发现这确实是.Net Connector的变化。 (我不确定版本号是什么,但从5.2.0开始将是我的 猜测)从连接器的5.2.2版开始,你应该添加 允许用户变量=真正的连接字符串设置以便 在SQL语句中使用用户定义的变量。
连接字符串示例:
Database=testdb;Data Source=localhost;User Id=root;Password=hello;Allow User Variables=True