Shr*_*ers 4 database sqlite android
我正在阅读这个帖子:在Android中使用BaseColumns有什么用,我得到了如何使用BaseColumns,你必须在SELECT语句中获取_id.
我还不清楚的是,_id字段何时"内部"创建?在execSQL(...)中,Android是否添加了_id字段?或者,我们还必须在CREATE TABLE语句中定义它吗?
您必须"手动"创建它.Android不会为你做那件事.
例如,在表创建期间,您发出:
CREATE TABLE messages (_id INTEGER PRIMARY KEY AUTOINCREMENT, timestamp INTEGER, message TEXT);
Run Code Online (Sandbox Code Playgroud)
看到?该_id列已明确命名并添加.
或者,按照DB-helper类的惯例,你会得到类似的东西:
db.execSQL("CREATE TABLE " + TABLE_MESSAGES + " ("
+ BaseColumns._ID + " INTEGER PRIMARY KEY AUTOINCREMENT,"
+ COLUMN_TIMESTAMP + " INTEGER,"
+ COLUMN_MESSAGE + " TEXT"
+ ");");
Run Code Online (Sandbox Code Playgroud)
其中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";
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3871 次 |
| 最近记录: |