我在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或替换查询是
INSERT OR REPLACE INTO providers (provider_channel_id, channel_name, provider_id, provider_name) VALUES ('1', '2', '3', '4')
由于
答案 0 :(得分:5)
看看这篇文章:(假设你已经回顾了Sieryuu的评论)
How do I UPDATE a row in a table or INSERT it if it doesn't exist?
你应该只能替换一行。
答案 1 :(得分:3)
我发现的解决方案 .replace而不是insert 你还应该在表中有一个行id并将其设置为PRIMARY KEY
bdd.replace(table,null, contentValues);