安卓SQLite INSERT或REPLACE

9

我正在尝试在SQLite中使用INSERT OR REPLACE语法,但迄今为止没有成功,因为没有插入行。

我的创建表查询是

 create table providers (provider_id text not null, provider_name text not null,  provider_channel_id text not null, channel_name text not null);CREATE UNIQUE INDEX channel_id ON providers (provider_channel_id);

我要执行的INSERT或Replace查询语句是

INSERT OR REPLACE INTO providers (provider_channel_id, channel_name, provider_id, provider_name) VALUES ('1', '2', '3', '4')

谢谢


为什么你创建了 provider_id 列却插入到 provider_channel_id 列中? - Sieryuu
provider_channel_id 是应该检测冲突的列,在查询中这些列非常无序 :) - TilalHusain
1个回答

5
我找到的解决方案是使用.replace而不是insert,你还应该在表中设置行id并将其设置为主键。
 bdd.replace(table,null, contentValues);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接