次の問題があります。1つのデータベースに2つのテーブルがあり、最後の列の名前に加えて同じ列で構成されています。Javaを使ってデータを書きたい。両方のテーブルに同じpreparedStatementを使用したいのですが、ifコマンドを使用して、それがtable1かtable2かを確認します。最後の列の名前tableは2amount10で、最後の列の名前はtable1amount20です。これnumberは私のコード内の変数に格納されています。
以下に、(簡略化された)例と、列名を変数にしようとしたが機能しない方法を示します。numberステートメント全体をコピーして変数を手動で変更せずにこれを修正する方法はありますか?
String insertData = "INSERT INTO `database`.`"+table+"`
(`person_id`,`Date`,`amount`+"number") VALUES "+
"(?,?,?) ON DUPLICATE KEY UPDATE " +
"`person_id` = ? , " +
"`Date` = ? , " +
"`amount`+"number" = ? ; ";
PreparedStatement insertDataStmt;