簡単な質問。私はJavaとMySQLデータベースを使用しています。私のような、PreparedStatementのメソッドを使用すると、パラメータ化される内容のデータベースへのアクセス方法を書きたい:パラメータ付きプリペアドステートメントを使用したデータベースアクセス
public DBResult selectQueryWithParameters(String SQL, Object... params)
私はあなたが選択クエリのためにこれを行うことができます知っているが、何DROPについて、CREATEおよびALTERを使用している問い合わせますメソッド(SQL)を実行します。同様に、executeUpdate(SQL)メソッドを使用しているUPDATE、INSERTおよびDELETEクエリを実行できます。これらのクエリにパラメータ化されたメソッドを記述できますか? ベストウェイ
ドロップするテーブルをパラメータとして渡すと、DROPやALTERなどのアクティビティが動的に実行される可能性があるからです。セキュリティのために、これを行うためにパラメータ化されたメソッドを使用する方が良いです。 PreparedStatementは単にパフォーマンスを改善します。だから、私の質問はどうですか?これらのメソッドをパラメータ化できますか? – ucas
正しくリコールすれば、DROP、CREATE、およびALTERのPreparedStatementを使用できます。しかし、これらのステートメントには実際にパラメーターを設定することはできません。私はこのコメントを確認していません。だからあなたは自分でそれをチェックすることができます。それを言って、それは私の意見では悪い習慣です。 DROP、CREATE、およびALTERはまれなイベントであり、アプリケーションの一部ではありません。 – emory