Android 如果我在为列创建sqlite表时忘记了逗号,会发生什么?
当我尝试在userData表中添加行时,会出现以下错误: “找不到loggedin列”,我发现错误是这个简单的逗号。显然,最后一个逗号之后的任何其他内容都不包括在实际的sql命令“CREATETABLE”中Android 如果我在为列创建sqlite表时忘记了逗号,会发生什么?,android,sql,sqlite,Android,Sql,Sqlite,当我尝试在userData表中添加行时,会出现以下错误: “找不到loggedin列”,我发现错误是这个简单的逗号。显然,最后一个逗号之后的任何其他内容都不包括在实际的sql命令“CREATETABLE”中 有人能解释为什么会这样吗?SQL字符串的最后一部分读作,hero5_score intloggedin int)。声明的列类型hero5_score变为intloggedin int,它将获取。SQL字符串的最后一部分读取,hero5_score intloggedin int)。列的声明类
有人能解释为什么会这样吗?SQL字符串的最后一部分读作
,hero5_score intloggedin int)代码>。声明的列类型hero5_score
变为intloggedin int
,它将获取。SQL字符串的最后一部分读取,hero5_score intloggedin int)代码>。列的声明类型hero5\u score
变为intloggedin int
,它得到了。因为sqlite基本上不关心列类型。。。您甚至可以编写column1 fu*inawesometype+spaces
(当然没有*),它将是有效的create语句……因为sqlite基本上不关心列类型。。。你甚至可以写column1 fu*inawesometype+spaces
(当然没有*),这将是一个有效的create语句……很高兴,一个拥有75k声誉的程序员回答了我的问题!很高兴,一个拥有75k声誉的程序员回答了我的问题!
@Override
public void onCreate(SQLiteDatabase db) {
Log.wtf("x", " database CREATED!!! -------------------------");
db.execSQL("create table userData ("
+ "id integer primary key autoincrement,"
+ "name text,"
+ "password text,"
+ "hero1_score int,"
+ "hero2_score int,"
+ "hero3_score int,"
+ "hero4_score int,"
+ "hero5_score int" //forget comma here - what happens?
+ "loggedin int"
+ ");");