ホームページ >データベース >mysql チュートリアル >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 サイトの他の関連記事を参照してください。