【发布时间】:2012-04-02 11:38:57
【问题描述】:
当我第一次尝试创建表时,我总是收到以下错误消息:
sqlite 返回:错误代码 = 1,msg = AUTOINCREMENT 只允许 在整数主键上
我的代码如下所示:
// 调试标识符 private static final String TAG = DatabaseOpenHandler.class.getSimpleName();
// name and verison of the database
private static final String DATABASE_NAME = "OpenConfApp";
private static final int DATABASE_VERSION = 1;
// name and attributes of the table notes
public static final String TABLE_NAME_NOTES = "notes";
public static final String _NOTE_ID = "_noteId";
public static final String NOTE_CONFERENCE = "conferenceId";
public static final String NOTE_DATE = "dateInMillis";
public static final String NOTE_TEXT = "noteText";
// create table notes
public static final String TABLE_NOTES_CREATE = "CREATE TABLE "
+ TABLE_NAME_NOTES + " (" + _NOTE_ID
+ "INTEGER PRIMARY KEY AUTOINCREMENT, " + NOTE_CONFERENCE
+ " INTEGER, " + NOTE_DATE + " INTEGER, " + NOTE_TEXT
+ " INTEGER);";
// drop table notes
public static final String TABLE_NOTES_DROP = "DROP TABLE IF EXIST "
+ TABLE_NAME_NOTES;
public DatabaseOpenHandler(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
Log.d(TAG, "onCreate called");
db.execSQL(TABLE_NOTES_CREATE);
}
抱歉,我是 Android 编程新手。
【问题讨论】: