Android SQLite中的多主键

时间:2012-10-18 02:26:31

标签: android sqlite syntax null primary-key

在SQLite for Android中,添加多主键的正确方法是什么?

目前我有:

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值?

2 个答案:

答案 0 :(得分:7)

不能为单个表创建多个主键。这是任何SQL的基本规则。但是,您可以使用其他约束,例如 UNIQUE 和索引来实现此目的。

这不是有效的SQL语法:

  

String 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 约束,它不允许您输入 NULL 值。

答案 1 :(得分:-1)

您可以在一个表中使用一个主键,更多外键