onCreate时不能使用SQLite Default

时间:2015-01-26 17:23:33

标签: android android-sqlite sqliteopenhelper

我遇到了Android SQLite数据库的问题。 我想用onCreate()创建数据库时设置一些默认值。 数据库已创建,但表格为空。

//Datenbank anlegen
private static final String CREATETABLE_SETTINGS =
        "CREATE TABLE " + TABLE_SETTINGS + " (\n" +
                "id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,\n" +
                "level TEXT DEFAULT 'hard',\n" +
                "design TEXT DEFAULT 'dark',\n" +
                "sound INTEGER DEFAULT '1',\n" +
                "music INTEGER DEFAULT '1',\n" +
                "vibration INTEGER DEFAULT '1',\n" +
                "control INTEGER DEFAULT '1');" ;

我不知道为什么默认值不起作用。

感谢每一个答案并原谅我糟糕的语言。

1 个答案:

答案 0 :(得分:2)

仅当在插入或更新行时为列提供了no或null值时,才会应用列定义中的

DEFAULT。您发布的代码不会插入任何行。

要插入具有默认值的行,请考虑

"INSERT INTO " + TABLE_SETTINGS + "(id) VALUES(NULL)"

(插入时需要指定至少一列。)