如何在android sqlite中将主键添加到text数据类型?

时间:2012-02-08 13:25:50

标签: android sqlite

  

可能重复:
  Is it possible to apply primary key on the text fields in android database

我已经做过这样的强制关闭。

private static final String CREATE_NEWCUSTOMER = "create table newcustomer (_id integer primary key autoincrement, "
            + "cname text primary key, date text , " + "caddress text);";

它适用于整数,如果有任何想法请帮助我。

3 个答案:

答案 0 :(得分:7)

您不会在SQLite中创建类似的主键。我没有测试过以下内容,但根据文档它应该可以工作:

private static final String CREATE_NEWCUSTOMER = "create table newcustomer (_id integer autoincrement, cname text, date text, caddress text, PRIMARY KEY(_id, cname));";

答案 1 :(得分:3)

您可以毫无问题地将主键属性添加到文本中。在上面的查询中存在一个主要问题。如果主键由多个列组成,则无法应用属性“AutoIncrement”。

  • 如果主键超过两列或更多列,则不允许使用AUTOINCREMENT

这是一个示例查询,它创建一个包含主键的表,该主键包含在两列中,一列具有Integer数据类型,另一列具有文本PRIMARY KEY ("col_1", "col_2")

CREATE TABLE "Table_Name" ("col_1" INTEGER NOT NULL , "col_2" TEXT NOT NULL , "col_3" TEXT, "col_4" VARCHAR, PRIMARY KEY ("col_1", "col_2"))

答案 2 :(得分:-3)

试试这个:

final String CREATE_TABLE_JobTime = 
    "CREATE TABLE jt (q_id INTEGER PRIMARY KEY AUTOINCREMENT,description VARCHAR);";
db.execSQL(CREATE_TABLE_JobTime);