ホームページ >Java >&#&チュートリアル >プリペアドステートメントでテーブル名のパラメータを使用できないのはなぜですか?
準備されたステートメントを使用したテーブル名の設定: エラーを回避するためのガイド
準備されたステートメントのパラメーターとしてテーブル名を設定しようとする場合、データベース システムによって課される制約を理解することが不可欠です。一般的な予想に反して、データベースではテーブル名をハードコーディングする必要があり、この目的でパラメーターを使用することはできません。
提供されたサンプル コードで発生したエラーを解決するには、次のようにクエリ文字列を変更する必要があります。テーブル名はパラメータを使用する代わりに明示的に指定されます。たとえば、クエリ:
private String query1 = "SELECT plantID, edrman, plant, vaxnode FROM [?]"; //?=date
を使用する代わりに、次を使用できます。
private String query1 = "SELECT plantID, edrman, plant, vaxnode FROM [" + reportDate + "?]";
クエリ文字列の一部としてテーブル名をハードコーディングすることで、クエリを正常に実行できます。パラメーター関連のエラーが発生することなく、目的のデータを取得できます。
以上がプリペアドステートメントでテーブル名のパラメータを使用できないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。