2012-02-28 5 views
0

Ma table SQLite ressemble à ceci.SQLite: Ajout d'une ligne uniquement si les lignes sont uniques

     --------------------------- 
        |_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 | 
        --------------------------- 

Un J'ai un Array {new str A, new str B, new srt C} dont je veux insérer des valeurs aux colonnes respectives. Je veux faire ceci seulement si new str A ne correspond à aucune entrée dans la colonne str A. Et je veux aussi str A unique en supprimant plusieurs occurrences de str A. Comment j'accomplis cela via SQLite?

Répondre

1

Vous devriez pouvoir utiliser INSERT ou IGNORE: http://www.sqlite.org/lang_conflict.html lors de l'insertion dans la table?

Je pense que vous auriez aussi à faire Col A un identifiant unique dans la table

+0

en ajoutant identifiant unique est le moyen le plus simple. – Binoy

0

d'abord obtenir toutes les valeurs de la colonne str A puis comparer la valeur avec votre valeur de tableau

+0

S'il vous plaît expliquer un peu plus, je suis nouveau à sql. – Binoy

+0

Vous avez une table dans votre base de données sqlite droite, en utilisant curseur obtenir toutes les valeurs de colonne str A les placer dans une liste, puis comparez la valeur de tableau avec la valeur de liste – Vamshi

0

Une façon vous pourriez avoir des entrées uniques avec str A est que vous pouvez faire str A comme la clé primaire au lieu du _id et puis utilisez UPDATE pour modifier les valeurs associées. De cette façon, plusieurs occurrences de str A seront également évitées, car le code lancera une erreur lorsque vous essayerez d'INSÉRER une entrée avec une valeur de str A déjà présente dans la table. J'espère que cela vous aide.

+0

Je ne peux pas, str A est filepath – Binoy

+0

je suppose que toute chaîne ou vchar peut être faite clé primaire .. clé primaire ne doit pas être entier – arvind

Questions connexes