SQLite:仅在结果为唯一行时添加行

时间:2012-02-28 11:10:01

标签: java android sql database sqlite

我的SQLite表看起来像这样。

                     ---------------------------
                    |_id|str A  |str B  |str C  |
                    |---------------------------|
                    |1  |cat    |blahty |lio    |
                    |---------------------------|
                    |2  |dog    |blahty |timmy  |
                    |---------------------------|
                    |3  |cow    |blahty |lio    |
                    |---------------------------|
                    |4  |bat    |blah   |timmy  |
                    |---------------------------|
                    |5  |tuna   |blahty |timmy  |
                    |---------------------------|
                    |6  |cat    |bla    |lio    |
                    |---------------------------|
                    |7  |dog    |blahty |timmy  |
                    |---------------------------|
                    |8  |cow    |bla    |lion   |
                    |---------------------------|
                    |9  |bat    |blahty |timmy  |
                    |---------------------------|
                    |10 |tuna   |blahty |lio    |
                     ---------------------------

我有一个Array {new str A, new str B, new srt C}我想从中向各列插入值。我只有在new str Astr A列中的任何条目都不匹配时才会这样做。我还希望通过删除多个str A的出现来str A唯一。我如何通过SQLite实现这一目标?

3 个答案:

答案 0 :(得分:1)

插入表格时,您应该能够使用INSERT或IGNORE:http://www.sqlite.org/lang_conflict.html吗?

我认为您还必须在表格中将Col A作为唯一标识符

答案 1 :(得分:0)

首先从str A列获取所有值,然后将该值与数组值进行比较

答案 2 :(得分:0)

使用str A可以获得唯一条目的一种方法是,您可以将str A作为主键而不是_id,然后使用UPDATE更改相关值。这样,str A的多次出现也将被阻止,因为当你尝试INSERT一个表中已存在str A值的条目时,代码将抛出错误。希望这会帮助你。