3

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

4

2 回答 2

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

于 2012-10-18T02:27:45.107 回答
-1

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

于 2012-10-18T02:29:39.577 回答