如何在 Anko 中为 SQLiteDatabase 的 INTEGER 字段设置默认值
How to set default value for a INTEGER field of SQLiteDatabase in Anko
我知道 SQLiteDatabase 没有布尔字段,所以我需要为 DBSettingTable.Status 设置一个 INTEGER 字段。
我希望为DBSettingTable.Status设置一个默认值0,但是下面的代码是错误的,我该如何解决?谢谢!
import android.content.Context
import android.database.sqlite.SQLiteDatabase
import org.jetbrains.anko.db.*
import ui.UIApp
override fun onCreate(db: SQLiteDatabase) {
db.createTable( DBSettingTable.TableNAME , true,
DBSettingTable._ID to INTEGER + PRIMARY_KEY+ AUTOINCREMENT,
DBSettingTable.Status to INTEGER DEFAULT 0
)
}
DEFAULT
使用不当。
它有签名fun DEFAULT(value: String): SqlTypeModifier
。
这样使用:
override fun onCreate(db: SQLiteDatabase) {
db.createTable( DBSettingTable.TableNAME , true,
DBSettingTable._ID to INTEGER + PRIMARY_KEY+ AUTOINCREMENT,
DBSettingTable.Status to INTEGER + DEFAULT("0")
)
}
我知道 SQLiteDatabase 没有布尔字段,所以我需要为 DBSettingTable.Status 设置一个 INTEGER 字段。 我希望为DBSettingTable.Status设置一个默认值0,但是下面的代码是错误的,我该如何解决?谢谢!
import android.content.Context
import android.database.sqlite.SQLiteDatabase
import org.jetbrains.anko.db.*
import ui.UIApp
override fun onCreate(db: SQLiteDatabase) {
db.createTable( DBSettingTable.TableNAME , true,
DBSettingTable._ID to INTEGER + PRIMARY_KEY+ AUTOINCREMENT,
DBSettingTable.Status to INTEGER DEFAULT 0
)
}
DEFAULT
使用不当。
它有签名fun DEFAULT(value: String): SqlTypeModifier
。
这样使用:
override fun onCreate(db: SQLiteDatabase) {
db.createTable( DBSettingTable.TableNAME , true,
DBSettingTable._ID to INTEGER + PRIMARY_KEY+ AUTOINCREMENT,
DBSettingTable.Status to INTEGER + DEFAULT("0")
)
}