2012-02-28 44 views
0

我的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 | 
        --------------------------- 

一个I具有从中我想插入值,以各列的Array {new str A, new str B, new srt C}。我只想在new str Astr A列中的任何条目不匹配的情况下执行此操作。我也想通过删除str A的多个发生来独特str A。我如何通过SQLite完成这项工作?

回答

1

您应该能够使用INSERT或忽略:插入到表时http://www.sqlite.org/lang_conflict.html

我想你也将不得不作出柱A的唯一标识符在表中你可以有海峡独特的条目

+0

相加,唯一标识符是最简单的方法。 – Binoy 2012-02-28 12:21:51

0

首先从str A列的所有数值,然后用你的数组值比较值的

+0

请多解释一下,我是sql新手。 – Binoy 2012-02-28 11:26:15

+0

你在你的sqlite数据库中有一张表,使用cursor获取所有str的列值将它们放在一个列表中,然后将该数组的值与列表值 – Vamshi 2012-02-28 11:40:13

0

的一种方法是,你可以做STR A作为主键,而不是_id和然后使用UPDATE更改相关值。这样,str A的多次发生也将被阻止,因为当你试图插入一个已经存在于表中的str A值的条目时,代码将抛出错误。希望这可以帮助你。

+0

我不能,str A是文件路径 – Binoy 2012-02-28 11:25:25

+0

我想任何字符串或vchar都可以成为主键..主键不必是整数 – arvind 2012-02-28 11:44:47

相关问题