Как установить значение по умолчанию для поля INTEGER базы данных SQLite в Anko - PullRequest
0 голосов
/ 11 мая 2018

Я знаю, что в SQLiteDatabase нет логического поля, поэтому мне нужно установить поле INTEGER для DBSettingTable.Status.Я надеюсь установить значение по умолчанию 0 для DBSettingTable.Status, но следующий код неверен, как я могу это исправить?Спасибо!

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  
        )
}

1 Ответ

0 голосов
/ 11 мая 2018

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")
    )
}
...