ホームページ >データベース >mysql チュートリアル >PreparedStatements の入力パラメータとして列名を使用できますか?

PreparedStatements の入力パラメータとして列名を使用できますか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-31 03:02:08415ブラウズ

Can Column Names Be Used as Input Parameters in PreparedStatements?

PreparedStatements の入力パラメータとして列名を使用する

質問:
列名は次のように使用できますか? PreparedStatement クエリの入力パラメータ (「SELECT * FROM A,B」など) WHERE A.X = ?"パラメータとして B.Y に値を割り当てますか?

答え:
いいえ、JDBC では入力パラメータとして列名の使用を許可していません。 PreparedStatement は列値のみをパラメーターとして受け入れます。 SQL ステートメントを動的に変更するには、PreparedStatement を作成する前に行う必要があります。

提供された例を使用します。

Table A has Attribute X + others
Table B has Attribute Y + others

PreparedStatement は次のように構築できます。

String sql = "SELECT * FROM A, B WHERE A.X = ?";
PreparedStatement statement = connection.prepareStatement(sql);
statement.setString(1, "value for A.X");

ただし、パラメータは列であるため、動的に「B.Y」に設定することはできません。名前。

以上がPreparedStatements の入力パラメータとして列名を使用できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。