0

我在 android 中为我的应用程序创建了一个数据库,其中包含列 ID、频道、名称,我可以很好地创建并且一切正常。我的 ID 附加到特定于该频道的命令。当我有 15 个频道并且我去删除频道 4 时,它会创建频道 16 而不是先替换频道 4。

有没有一种方法可以在添加值之前先搜索“空”RowIds?

4

2 回答 2

0

a row will be updated if a unique constraint violation occurs for the insert. So the ID column in your example would need to have a PRIMARY KEY constraint in the database schema for the row to be updated

contentValue c;
SQLiteDatabase db=getWritableDatabase();
db.replace("table_name", null, c);
于 2012-07-03T15:10:22.267 回答
0

如果 ID 列是 Auto-Increment,则不能替换 4。每次插入时,列值都会增加 1。

您可以删除自动增量来处理您自己的 ID。但为此,您必须在每个插入中搜索缺失的数字(效率不是很高)。也许您还可以将删除的 ID 保存在一些辅助表中。这可以帮助您避免查找。但不确定是否值得...

于 2012-07-03T15:05:30.817 回答