0
我有一个数据库设置来存储笔记。我想自动增加第一列。我试过这个,但是当我从数据库读取时,该列中的每个结果都是'null'。
这是创建数据库的代码。为什么sqlite auto_increment不递增?
private static final String NOTES_TABLE_CREATE =
"CREATE TABLE " + NOTES_TABLE_NAME + " (" +
COLUMN_NAMES[0] + " INTEGER AUTO_INCREMENT, " +
COLUMN_NAMES[1] + " TEXT, " +
COLUMN_NAMES[2] + " TEXT, " +
COLUMN_NAMES[3] + " TEXT, " +
COLUMN_NAMES[4] + " TEXT, " +
COLUMN_NAMES[5] + " TEXT, " +
COLUMN_NAMES[6] + " TEXT);";
这是获取数据库结果的代码。
SQLiteDatabase db = this.getReadableDatabase();
Cursor result = db.query(NOTES_TABLE_NAME, COLUMN_NAMES, null, null, null, null, null, null);
result.moveToFirst();
result.moveToNext();
System.out.println(result.getInt(0));
System.out.println(result.getString(1));
这是从logcat的
04-09 17:56:17.981 22147-22147/com.example.a8460p.locationotes I/System.out: 0
04-09 17:56:17.981 22147-22147/com.example.a8460p.locationotes I/System.out: notetitle1234567890
表中是否包含任何数据? –
是的,第二个System.out.println输出notetitle1234567890。我也可以添加数据并用数据填充列表。这只是auto_increment列,似乎没有记录任何东西 – Gus
因为你没有将它应用到'INTEGER PRIMARY KEY'列。 – PetSerAl