次のSQLは、ワークベンチで期待どおりに実行されますが、C#アプリケーションから起動すると「パラメータ@searchを定義する必要があります」というエラーが生成されます。誰もこれを説明できますか?MySqlユーザー変数が無視される
set @search = 'b%';
select * from country where Name like @search
次のSQLは、ワークベンチで期待どおりに実行されますが、C#アプリケーションから起動すると「パラメータ@searchを定義する必要があります」というエラーが生成されます。誰もこれを説明できますか?MySqlユーザー変数が無視される
set @search = 'b%';
select * from country where Name like @search
MySQLは@variable_name
の式をユーザー定義変数として使用します。一方、C#(またはプロバイダ - どちらが本当にわからないか)では、@parameter_name
を使用してクエリのパラメータプレースホルダに注釈を付けます。
あなたは、SQLユーザー定義の変数を使用したい場合は、お使いの.Netコネクタ接続の接続文字列に次のパラメータを追加します
Allow User Variables=True
または
AllowUserVariables=True
を、このオプションが追加されましたconnector v5.2.2
"どのようにC#アプリケーションから起動するのですか"?コードを表示してください。 – PaulF