onCreate 时不能使用 SQLite Default
Can't use SQLite Default while onCreate
我遇到了 Android SQLite 数据库的问题。
当我使用 onCreate() 创建数据库时,我想设置一些默认值。
数据库已创建,但 table 为空。
//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');" ;
我不知道为什么默认值不起作用。
感谢您的每一个回答,请原谅我的脏话。
列定义中的 DEFAULT
仅在插入或更新行时没有为列提供或提供空值时应用。您发布的代码没有插入任何行。
要插入具有默认值的行,请考虑
"INSERT INTO " + TABLE_SETTINGS + "(id) VALUES(NULL)"
(插入时至少要指定一列。)
我遇到了 Android SQLite 数据库的问题。 当我使用 onCreate() 创建数据库时,我想设置一些默认值。 数据库已创建,但 table 为空。
//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');" ;
我不知道为什么默认值不起作用。
感谢您的每一个回答,请原谅我的脏话。
DEFAULT
仅在插入或更新行时没有为列提供或提供空值时应用。您发布的代码没有插入任何行。
要插入具有默认值的行,请考虑
"INSERT INTO " + TABLE_SETTINGS + "(id) VALUES(NULL)"
(插入时至少要指定一列。)