2012-10-18 3 views
3

В SQLite для Android, какой правильный способ добавить несколько первичных ключей?Multi Primary Keys в Android SQLite

В настоящее время у меня есть:

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

Альтернативный метод, который я думал был:

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

ли как действует? Если да, то что лучше? Также как я запрещаю значения NULL?

ответ

7

Невозможно создать несколько первичных ключей для одной таблицы. Это основное правило любого SQL. Однако вы можете использовать другие ограничения, такие как UNIQUE с индексом для достижения этого.

Это не будет действительным SQL Синтаксис:

Строка create_table = "CREATE TABLE проекта (KeyId INTEGER PRIMARY KEY, KEYNAME TEXT PRIMARY KEY)";

В другом случае вы можете создать первичный ключ для нескольких колонки следующим образом:

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

Как запретить NULL значения?

вы можете использовать NOT NULL Constraint, это не позволит ввести NULL значения.

+2

Можно ли получить один из столбцов из столбца первичного ключа в качестве автоинкремента –

-1

Вы можете использовать один первичный ключ, более внешние ключи в одной таблице

Смежные вопросы