Java SQLite自动增量

Java SQLite自动增量,java,android,sqlite,Java,Android,Sqlite,我的表是这样创建的: db.execSQL("CREATE TABLE reminder (" + "id INTEGER PRIMARY_KEY AUTO_INCREMENT," + "title VARCHAR(100)," + "content VARCHAR(500)," + "due LONG," + "alarm LONG," + "

我的表是这样创建的:

    db.execSQL("CREATE TABLE reminder (" +
            "id INTEGER PRIMARY_KEY AUTO_INCREMENT," +
            "title VARCHAR(100)," +
            "content VARCHAR(500)," +
            "due LONG," +
            "alarm LONG," +
            "priority INT" +
            ");");
和插入的值:

    ContentValues cv=new ContentValues();
    cv.put("title",t.title);
    cv.put("content",t.content);
    cv.put("due",t.date.getTimeInMillis());
    cv.put("alarm",(t.alarm==null?0L:t.alarm.getTimeInMillis()));
    cv.put("priority",t.severity);
    SQLiteDatabase d=getWritableDatabase();
    d.insert("reminder",null, cv);
    d.close();
但当我试图通过以下方式获得我的价值观:

        Task task=new Task();
        task.id=c.getInt(0);
        task.title=c.getString(1);
        task.content=c.getString(2);
        Calendar due=new GregorianCalendar();
        due.setTimeInMillis(c.getLong(3));
        task.date=due;
        if(c.getLong(4)!=0){
            Calendar alert=new GregorianCalendar();
            alert.setTimeInMillis(c.getLong(4));
            task.alarm=alert;
        }
        task.severity=c.getInt(5);
        return task;

我得到的id总是等于零。知道怎么修吗?

下划线有点不合适。尝试id整数主键自动递增


请尝试此解决方案:

db.execSQL("CREATE TABLE reminder (" +
            "'_id' INTEGER PRIMARY_KEY AUTO_INCREMENT," +
            "title VARCHAR(100)," +
            "content VARCHAR(500)," +
            "due LONG," +
            "alarm LONG," +
            "priority INT" +
            ");");

更改了_id的id。

为什么我的android sqlite有不同的语法?顺便说一句,它没有更改。您是否尝试使用cv.put设置id为空?但问题是,在OpenSQLHelper中,它不起作用。知道为什么吗?事实证明,这个问题可能是由于id丢失引起的。啊,是的,Android适配器喜欢他们的id。