【问题标题】:Android - BaseColumns and _idAndroid - BaseColumns 和 _id
【发布时间】:2013-01-17 05:01:20
【问题描述】:
【问题讨论】:
标签:
android
database
sqlite
【解决方案1】:
您必须“手动”创建它。 Android 不会为您这样做。
例如,在创建表期间,您发出:
CREATE TABLE messages (_id INTEGER PRIMARY KEY AUTOINCREMENT, timestamp INTEGER, message TEXT);
看到了吗? _id 列已显式命名和添加。
或者,按照 DB-helper 类的约定,你会想出类似的东西:
db.execSQL("CREATE TABLE " + TABLE_MESSAGES + " ("
+ BaseColumns._ID + " INTEGER PRIMARY KEY AUTOINCREMENT,"
+ COLUMN_TIMESTAMP + " INTEGER,"
+ COLUMN_MESSAGE + " TEXT"
+ ");");
TABLE_* 和 COLUMN_* 是 DB-helper 的常量字段,例如:
public static final String TABLE_MESSAGES = "messages";
public static final String COLUMN_TIMESTAMP = "timestamp";
public static final String COLUMN_MESSAGE = "message";