我有一个使用SQLiteAssetHelper的应用程序。我正在尝试更新其数据库以包含一个附加表。
一切都很好,除了我无法使主键自动增量。无论我尝试什么都给了我一个例外。
我认为这可能是一个语法问题,因为使用INTEGER而不是INT也会崩溃应用程序。
在哪里可以找到SQLiteAssetHelper使用的语法参考?
谢谢大家。
违规脚本如下所示:
CREATE TABLE heat (
_id int PRIMARY KEY AUTOINCREMENT,
amount int,
comment text
);
即使我让脚本工作(是AUTOINCREMENT
还是auto_increment
?),插入语句也无法在_id
列中添加值。它留空了。
final ContentValues cv = new ContentValues();
cv.put( KEY_AMOUNT, lAmount );
cv.put( KEY_COMMENT, sComment );
final long lId = m_db.insert( TABLE_NAME, null, cv );
答案 0 :(得分:0)
更改数据库版本以升级表
private static final int DATABASE_VERSION = 1;
public DatabaseHandler(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
答案 1 :(得分:0)
AUTOINCREMENT
需要INTEGER PRIMARY KEY
,INT PRIMARY KEY
不胜。更改它修复了您发布的SQL的问题。如果您有其他问题,请发布导致它的异常消息和代码。