插入sqlite时自动递增'id'值

时间:2014-03-16 18:52:30

标签: android database sqlite android-sqlite

我正在试图弄清楚如何以自动递增的方式将id值输入数据库,即根据条目的不同自动设置它。

这是我的DatabaseHandler代码如何查看时刻(仅重要的位)

    // Adding new appointment
    void addAppointment(Appointment appointment) {
        SQLiteDatabase db = this.getWritableDatabase();

        ContentValues values = new ContentValues();
        values.put(KEY_ID, appointment.getId()); // Appointment ID
        values.put(KEY_TITLE, appointment.getTitle()); // Appointment Title
        values.put(KEY_DETAILS, appointment.getDetails()); // Appointment Details
        values.put(KEY_DATE, appointment.getDate()); // Appointment Date
        values.put(KEY_TIME, appointment.getTime()); // Appointment Time

        // Inserting Row
        db.insert(TABLE_APPOINTMENTS, null, values);
        db.close(); // Closing database connection
    }

你可以看到我使用没有id的构造函数,这总是为id返回0,因此返回一个错误,因为id必须是PRIMARY KEY must be unique

如何让它自动增量?

1 个答案:

答案 0 :(得分:1)

删除

values.put(KEY_ID, appointment.getId()); // Appointment ID

如果未指定PRIMARY KEY,则值为automatically generated