【问题标题】:Multi Primary Keys in Android SQLiteAndroid SQLite 中的多主键
【发布时间】:2012-10-18 02:26:30
【问题描述】:

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

【问题讨论】:

    标签: android sqlite syntax null primary-key


    【解决方案1】:

    不,不可能为单个表创建多个主键。这是任何 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 值。

    【讨论】:

    • 我们可以从主键列中获取其中一列作为自动增量
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-18
      • 2016-12-05
      • 1970-01-01
      • 2014-03-05
      • 1970-01-01
      • 1970-01-01
      • 2012-11-24
      相关资源
      最近更新 更多