問題の説明
私は2つのテーブルを保持しているSQLiteデータベースを持っています。最初のテーブルCompanies
にID
は、その会社に固有Name
の会社、会社、Websites
およびEmails
. すべての会社は複数のアドレスを持つことができるので、2 番目のテーブルを作成Addresses
し、この場合は一意ではない会社 ID とその他の情報をそこに保持します。
例えば:
Companies
テーブルにこのようなレコードがある場合
7785413 MyComp http://www.mycomp.com mycomp@email.com
テーブルには、Addresses
このようなレコードを含めることができます
7785413 0 アドレス 1 +64841518549 +9985212848
7785413 1 アドレス 2 +64841542359 +9985212848
2 番目のテーブルには一意の列がないため、レコードを更新する方法を知りたいですか? 最初のケースでは、私は電話します
database.insertOrThrow(DATABASE_TABLE_NAME, null, values);
関数であり、ID が同じ関数である場合、例外がスローされ、それをキャッチしてレコードを更新します。一意の列がなく、関数が例外をスローしないため、2 番目のテーブルで同じことを行うことはできません。それを行う最良の方法はどれですか?
テーブル
CREATE TABLE Companies (ID TEXT UNIQUE, Name TEXT, Websites TEXT, Emails TEXT)
CREATE TABLE Addresses (ID TEXT, Position NUMERIC, Address TEXT, Tel TEXT, Mob TEXT)