ホームページ > Java > &#&チュートリアル > プリペアドステートメントでテーブル名のパラメータを使用できないのはなぜですか?

プリペアドステートメントでテーブル名のパラメータを使用できないのはなぜですか?

Patricia Arquette
リリース: 2024-12-11 19:27:16
オリジナル
770 人が閲覧しました

Why Can't I Use Parameters for Table Names in Prepared Statements?

準備されたステートメントを使用したテーブル名の設定: エラーを回避するためのガイド

準備されたステートメントのパラメーターとしてテーブル名を設定しようとする場合、データベース システムによって課される制約を理解することが不可欠です。一般的な予想に反して、データベースではテーブル名をハードコーディングする必要があり、この目的でパラメーターを使用することはできません。

提供されたサンプル コードで発生したエラーを解決するには、次のようにクエリ文字列を変更する必要があります。テーブル名はパラメータを使用する代わりに明示的に指定されます。たとえば、クエリ:

private String query1 = "SELECT plantID, edrman, plant, vaxnode FROM [?]"; //?=date
ログイン後にコピー

を使用する代わりに、次を使用できます。

private String query1 = "SELECT plantID, edrman, plant, vaxnode FROM [" + reportDate + "?]";
ログイン後にコピー

クエリ文字列の一部としてテーブル名をハードコーディングすることで、クエリを正常に実行できます。パラメーター関連のエラーが発生することなく、目的のデータを取得できます。

以上がプリペアドステートメントでテーブル名のパラメータを使用できないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート