0

我想创建一个带有 ID 和 UNIQUE TEXT 字段的表,例如:

@Override   
public void onCreate(SQLiteDatabase db) 
{   
    String CREATE_CONTACTS_TABLE = "CREATE TABLE " + TABLE_POSTS + "("
    + KEY_ID + " INTEGER PRIMARY KEY AUTO_INCREMENT," + KEY_URL + " TEXT UNIQUE NOT NULL"+")";
    db.execSQL(CREATE_CONTACTS_TABLE);  
}

但这行不通。

07-23 10:35:53.937: E/AndroidRuntime(19078): android.database.sqlite.SQLiteException: near "AUTO_INCREMENT": syntax error: CREATE TABLE posts(id INTEGER PRIMARY KEY AUTO_INCREMENT,url TEXT UNIQUE NOT NULL)

我怎样才能解决这个问题 ?

4

3 回答 3

1

SQlite 中的 Integer 主键默认为 AutoIncrement,因此请删除 Auto Increment。这是文档SQLite FAQ

于 2013-07-23T03:58:07.970 回答
0

这将用于创建表,我在我的应用程序中对其进行了测试并且工作正常。

@Override   
public void onCreate(SQLiteDatabase db) 
{   
    String CREATE_CONTACTS_TABLE = "CREATE TABLE " + TABLE_POSTS + " ("
    + KEY_ID + " INTEGER PRIMARY KEY, " + KEY_URL + " TEXT UNIQUE NOT NULL"+")";
    db.execSQL(CREATE_CONTACTS_TABLE);  
}
于 2013-07-23T04:01:32.793 回答
0

将 AUTO_INCREMENT 更改为自动增量。

于 2013-07-23T04:04:15.040 回答