首頁 > 資料庫 > mysql教程 > 列名可以用作PreparedStatements中的輸入參數嗎?

列名可以用作PreparedStatements中的輸入參數嗎?

Susan Sarandon
發布: 2024-12-31 03:02:08
原創
411 人瀏覽過

Can Column Names Be Used as Input Parameters in PreparedStatements?

在PreparedStatements中使用列名作為輸入參數

問題:

問題:列名可以用作列名查詢中的輸入參數,例如「SELECT * FROM A,B WHERE A.X = ?」並為 B.Y 賦值作為參數?

答案:

不,JDBC 不允許使用列名作為輸入參數。 ReadyStatement 只接受列值作為參數。若要動態修改SQL語句,必須在建立PreparedStatement之前完成。
Table A has Attribute X + others
Table B has Attribute Y + others
登入後複製

使用提供的範例:

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

PreparedStatement可以建構如下:

但是,無法將參數動態設為“B.Y”,因為它是列名稱。

以上是列名可以用作PreparedStatements中的輸入參數嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板