问题描述
我有 SQLite 数据库,其中我保留了两个表,在第一个表中,Companies
我保留了公司ID
,该公司对于该公司来说是独一无二的Name
,Websites
并且Emails
. 每家公司都可以有多个地址,因此我创建了第二个表Addresses
并保留了在这种情况下不是唯一的公司 ID 和其他信息。
例如:
如果在Companies
表中我有这样的记录
7785413 MyComp http://www.mycomp.com mycomp@email.com
在Addresses
表中我可以有这样的记录
7785413 0 地址1 +64841518549 +9985212848
7785413 1 地址2 +64841542359 +9985212848
由于我的第二个表中没有唯一列,我想知道如何更新记录?在第一种情况下,我打电话
database.insertOrThrow(DATABASE_TABLE_NAME, null, values);
函数,如果我的 ID 相同,函数会引发异常,我会捕获它并更新记录。我不能在第二个表中做同样的事情,因为没有唯一的列并且函数不会抛出异常。这是最好的方法吗?
表
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)