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 に答える