私はJavaでMySQLを使用しています。
テーブル「regApartmentsTable」、「gardApartmentsTable」、「penthousesTable」のいずれかで「owners」フィールドを更新しようとしています。これは空で、特定のapartmentNumとstreetに対応し、文字列「newOwners」に置き換えます。
それを行うために、私は次のコードを書きました:
st=connection.prepareStatement("UPDATE regApartmentsTable,gardApartmentsTable,penthousesTable SET owners=? " +
"WHERE owners=? AND apartmentNum=? AND street=?");
st.setString(1, newOwners);
st.setString(2, "");
st.setInt(3, apartmentNum);
st.setString(4, streetName+" "+buildingNum);
すべてを調べる必要があるため、3つのテーブルを含めます。(所有者がなく、apartmentNumとstreetに一致する必要なアパートは、誰かを助ける場合、複数のテーブルに含めることはできません)。
しかし、このコードを実行しようとすると、「フィールドの列'所有者'があいまいです」というエラーが発生します。SQLコマンドを他にどのように書くべきか考えていますか?よろしくお願いします!
編集:問題に対する十分な回答が得られませんでした...わかりました。これらの3つのテーブルでは、「owners」フィールドが一般的であるため、例外が発生することを理解しました。それでも、どうすれば問題を解決できますか?どのテーブルで必要なアパートを見つけるかわからないため、テーブルの名前にプレフィックスを追加できません...知っていれば、3つのテーブルを検索していなかったでしょう。