sql >> データベース >  >> RDS >> Mysql

IN句とパラメータを含むMySQLの誤った出力

    パラメータはそのようには機能しません。彼らはあなたが提供しようとしているのがコンマで区切られた値のリストであることを知りません。 ParamByName('WhatEver').AsStringを設定した場合 またはValue 、それはあなたがそのパラメータに属するすべてを含む引用符で囲まれた文字列を意味すると考えます。つまり、見た目どおりに動作し、IN ('1, 2, 3')を渡します。 、意図したIN (1, 2, 3)の代わりに 。

    自分で解析して一時テーブルを使用するか、WHEREを作成する必要があります。 句を動的に連結し、クエリを実行する前に連結します。 (実際には、クエリを動的に作成して、IN内の各アイテムに新しいパラメーターを作成することができます。 句を入力し、ループして動的に作成された各パラメーターに値を割り当てますが、非常に醜くなります。)



    1. ORA-12705:NLSデータ・ファイルまたは無効な環境にアクセスできません

    2. 日付間隔ごとに一意の訪問者を選択するにはどうすればよいですか?

    3. SQLServerおよびMySQLで実行可能なテーブルの最大数

    4. mysqlとangularからデータを削除します