Android 如果我在为列创建sqlite表时忘记了逗号,会发生什么?

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)。列的声明类

当我尝试在userData表中添加行时,会出现以下错误: “找不到loggedin列”,我发现错误是这个简单的逗号。显然,最后一个逗号之后的任何其他内容都不包括在实际的sql命令“CREATETABLE”中


有人能解释为什么会这样吗?

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"
            + ");");