ホームページ >Java >&#&チュートリアル >SQL クエリでテーブル名を設定するために準備されたステートメントを使用できないのはなぜですか?
プリペアド ステートメントを使用したテーブル名の設定
プリペアド ステートメントを使用する場合は、その制限を理解することが重要です。この例では、開発者はパラメータ置換を使用してテーブル名を設定しようとしたときにエラーが発生しました。
問題:
クエリにはソースとしてテーブル名が必要です。データ取得用ですが、「SELECT」ステートメントではテーブル名が次のパラメータを使用していました。
解決策:
準備されたステートメントのパラメーターを使用してテーブル名を動的に設定することはできません。代わりに、クエリ自体内でハードコーディングする必要があります。提供されるソリューションでは、テーブル名をクエリ内の文字列として明示的に含めるようにコードを変更します。
private String query1 = "SELECT plantID, edrman, plant, vaxnode FROM [" + reportDate + "?]";
ハードコードされたテーブル名をパラメータ (?) と組み合わせることで、クエリは動的に日付コンポーネントを更新できます。正しいテーブルへの参照を保持します。
以上がSQL クエリでテーブル名を設定するために準備されたステートメントを使用できないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。