以下SQL在工作台中按预期运行,但在从C#应用程序中触发时会生成错误“参数@search必须定义”。谁能解释一下呢?
set @search = 'b%';
select * from country where Name like @search
答案 0 :(得分:2)
MySQL使用@variable_name
表达式作为用户定义的变量。另一方面,C#(或提供者 - 不确定是哪个)使用@parameter_name
在查询中注释参数占位符。
如果要使用sql用户定义的变量,请将以下参数添加到.Net连接器连接的连接字符串中:
Allow User Variables=True
或
AllowUserVariables=True
此选项已添加到connector v5.2.2