有没有办法创建一个没有AUTOINCREMENT列的表?为什么自己创建SQLite数据库rowid? Android
我试过这个链接的解决方案,但它没有为我工作。 prevent autoincrementing integer primary key?
public static final String KEY_ID = "ROW_ID";
public static final String BOOK = "books";
public static final String CAR = "cars";
private static final String BOOK_CAR_TABLE = "BOOK_CAR_Table";
private static final String[] ALL_KEYS = new String[] {KEY_ID, BOOK, CAR};
private static final String BOOK_CAR_CREATE =
"CREATE TABLE " + BOOK_CAR_TABLE + "("+
KEY_ID + " INTEGER PRIMARY KEY," +
BOOK + " TEXT," +
CAR + " TEXT)";
我明白,当我添加INTEGER PRIMARY KEY,它会变成KEY_ID到自动增量列。
public static final String KEY_ID = "ROW_ID";
public static final String BOOK = "books";
public static final String CAR = "cars";
private static final String BOOK_CAR_TABLE = "BOOK_CAR_Table";
private static final String[] ALL_KEYS = new String[] {KEY_ID, BOOK, CAR};
private static final String BOOK_CAR_CREATE =
"CREATE TABLE " + BOOK_CAR_TABLE + "("+
KEY_ID + " INTEGER," +
BOOK + " TEXT," +
CAR + " TEXT)";
的AUTOINCREMENT ROWID列是由本身产生的,它是怎么发生的?????
我不想要这个AUTOINCREMENT列。
我该如何预防?
谢谢
编辑:添加代码
private static final String BOOK_CAR_CREATE =
"CREATE TABLE " + BOOK_CAR_TABLE + "("+
KEY_ID + " INTEGER," +
BOOK + " TEXT," +
CAR + " TEXT) WITHOUT ROWID";
我已经试过这样做,它是强制关闭。我想这是因为SQLite版本?
这是一个功能,而不是一个错误 – 2014-09-29 16:49:15