MySql用户变量被忽略

时间:2016-11-08 14:46:46

标签: mysql

以下SQL在工作台中按预期运行,但在从C#应用程序中触发时会生成错误“参数@search必须定义”。谁能解释一下呢?

set @search = 'b%';
select * from country where Name like @search

1 个答案:

答案 0 :(得分:2)

MySQL使用@variable_name表达式作为用户定义的变量。另一方面,C#(或提供者 - 不确定是哪个)使用@parameter_name在查询中注释参数占位符。

如果要使用sql用户定义的变量,请将以下参数添加到.Net连接器连接的连接字符串中:

Allow User Variables=True

AllowUserVariables=True

此选项已添加到connector v5.2.2