次の問題があります。1つのデータベースに2つのテーブルがあり、最後の列の名前に加えて同じ列で構成されています。Javaを使ってデータを書きたい。両方のテーブルに同じpreparedStatementを使用したいのですが、ifコマンドを使用して、それがtable
1かtable
2かを確認します。最後の列の名前table
は2amount10
で、最後の列の名前はtable
1amount20
です。これ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;