【问题标题】:Primary key is inserting as null in android sqlite主键在android sqlite中插入为null
【发布时间】:2014-08-29 17:23:17
【问题描述】:

我正在学习移动应用开发。虽然我在使用 sqlite 数据库,但一切都很好,但主键列始终为空。

建表代码:

 public void onCreate(SQLiteDatabase db) {
        // TODO Auto-generated method stub
        db.execSQL("CREATE TABLE "+ DATABASE_TABLE+"(" +
        KEY_ROWID+" INTERGER PRIMARY KEY," +
        KEY_NAME+" TEXT NOT NULL,"+
        KEY_HOTNESS+" TEXT NOT NULL);"
                );

    }

插入代码:

public String getData() {
    // TODO Auto-generated method stub
    String[] columns= {KEY_ROWID,KEY_NAME,KEY_HOTNESS};
    Cursor c=ourDatabase.query(DATABASE_TABLE, columns, null, null, null, null, null);

    String result="";

    int iRow=c.getColumnIndex(KEY_ROWID);
    int iName=c.getColumnIndex(KEY_NAME);
    int iHotness=c.getColumnIndex(KEY_HOTNESS);

    for(c.moveToFirst() ; !c.isAfterLast() ; c.moveToNext()){
        result= result + c.getString(iRow)+" "+c.getString(iName)+" "+c.getString(iHotness)+ "\n";
    }



    return result;
}

【问题讨论】:

  • KEY_ROWID+" INTERGER PRIMARY KEY," + ... INTERGER??

标签: android sql sqlite


【解决方案1】:

在主键定义中添加AUTOINCREMENT

KEY_ROWID+" INTEGER PRIMARY KEY AUTOINCREMENT,"

(还要确保它是 INTEGER 而不是 INTERGER :))

【讨论】:

    猜你喜欢
    • 2014-03-10
    • 2017-12-30
    • 1970-01-01
    • 1970-01-01
    • 2012-06-16
    • 1970-01-01
    • 2015-12-15
    • 2012-12-20
    • 1970-01-01
    相关资源
    最近更新 更多