Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/210.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
可以将文本或字符串作为sqlite android中的主键_Android_Sql_Json_Database_Sqlite - Fatal编程技术网

可以将文本或字符串作为sqlite android中的主键

可以将文本或字符串作为sqlite android中的主键,android,sql,json,database,sqlite,Android,Sql,Json,Database,Sqlite,你好,我有这样的json,现在我想把这个json保存到sqlite android,但是 我不知道如何为这个json创建一个表,json结果是字符串/文本类型,但是我们知道在创建表sqlite中,我们需要类型为integer的数据作为主键 我想使用UserId作为主键,但这是text/string类型 我的问题是我可以创建以字符串/文本为主键的表吗? 如果您有其他方法将此json保存到sqlite,请告诉我如何操作。先谢谢你 [ { "UserId": "3c652f

你好,我有这样的json,现在我想把这个json保存到sqlite android,但是 我不知道如何为这个json创建一个表,json结果是字符串/文本类型,但是我们知道在创建表sqlite中,我们需要类型为integer的数据作为主键

我想使用UserId作为主键,但这是text/string类型

我的问题是我可以创建以字符串/文本为主键的表吗? 如果您有其他方法将此json保存到sqlite,请告诉我如何操作。先谢谢你

[
      {
        "UserId": "3c652fc4-5dc4-4fa5-8c07-d27b0b657823",
        "Nationality": "ID",
        "Image": null,
        "IsAlreadyOnTextoaser": true,
        "IsAlreadyOnRequest": false,
        "LastActive": null,
        "LastActiveResume": "0 Days Ago",
        "FirstName": "dwi",
        "LastName": "wahyudi"
      },
      {
        "UserId": "cbb1f8bd-8016-4bc6-abd1-701fb353293d",
        "Nationality": "ID",
        "Image": null,
        "IsAlreadyOnTextoaser": true,
        "IsAlreadyOnRequest": false,
        "LastActive": null,
        "LastActiveResume": "0 Days Ago",
        "FirstName": "Wildan",
        "LastName": "Rachman"
      }
    ]

Android框架的许多部分都希望您的数据具有唯一的整数列,称为
\u id

(获取此类列的最简单方法是将其设置为自动递增主键,但如果您的数据已经有此类列,或者如果可以从其他值轻松计算唯一值,则不需要显式主键。)

虽然主键约束文档中的列标识行,但实际的技术效果与NOTNULL和UNIQUE相同。因此,您的表中可以有多个候选键:

CREATE TABLE MyTable (
    _id       INTEGER PRIMARY KEY,      -- autoincrementing, for Android
    UserId    TEXT    NOT NULL UNIQUE,  -- actual PK 
    FirstName TEXT,
    [...]
);

可以将主键创建为字符串。试试这个