我想创建一个带有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)
我该如何解决这个问题?
答案 0 :(得分:1)
默认情况下,SQlite中的Integer主键是AutoIncrement,因此请删除自动增量。这是文档SQLite FAQ
答案 1 :(得分: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);
}
答案 2 :(得分:0)
将AUTO_INCREMENT更改为自动增量。