2012-10-18 4 views
3

Dans SQLite pour Android, quelle est la bonne façon d'ajouter des clés primaires multiples?Clés primaires multiples dans Android SQLite

Actuellement, j'ai:

String Create_table = "CREATE TABLE project (keyId INTEGER PRIMARY KEY, keyName TEXT PRIMARY KEY)"; 

La méthode que je pensais était:

String Create_table = "CREATE TABLE project (keyID INTEGER, keyName TEXT, PRIMARY KEY(keyID, keyName))"; 

sont valides? Si oui, quel est le meilleur? Comment puis-je refuser les valeurs NULL?

Répondre

7

Non, il n'est pas possible de créer plusieurs clés primaires pour une seule table. C'est la règle de base de tout SQL. Cependant, vous pouvez utiliser d'autres contraintes comme UNIQUE avec index pour y parvenir.

Ce ne sera pas valide SQL Syntaxe:

Chaîne create_table = "CREATE TABLE projet (keyId INTEGER PRIMARY KEY, keyName TEXTE PRIMARY KEY)";

En autre manière, vous pouvez créer une clé primaire pour plusieurs colonnes comme suit:

Create Table yourTableName (col1, col2, col3, PRIMARY KEY (col1, col2)); 

Comment puis-je interdisez au NULL valeurs?

vous pouvez utiliser NOT NULL contrainte, il ne vous permettra pas d'entrer NULL valeurs.

+2

Pouvons-nous obtenir l'une des colonnes de la colonne de clé primaire comme autoincrement –

-1

Vous pouvez utiliser une clé primaire, plus de clés étrangères dans une table