Android SQLite insert语句始终覆盖现有行

Android SQLite insert语句始终覆盖现有行,android,sqlite,Android,Sqlite,我有一个简单的insert SQLite语句: private final String INSERT_FEED = "insert into " + TABLE_FEEDS + "([id],[first_name], [last_name], [image], [content]) " + "values (?,?,?,?,?)"; 我在一种方法中使用了: public long insertFeed(FeedsModel feed) {

我有一个简单的insert SQLite语句:

private final String INSERT_FEED = "insert into "
        + TABLE_FEEDS
        + "([id],[first_name], [last_name], [image], [content]) "
        + "values (?,?,?,?,?)";
我在一种方法中使用了:

public long insertFeed(FeedsModel feed) {

this.insertStmt = db.compileStatement(INSERT_FEED);
this.insertStmt.bindString(1, feed.getId() + "");
this.insertStmt.bindString(2, feed.getFirstName());
this.insertStmt.bindString(3, feed.getLastName());
this.insertStmt.bindString(4, feed.getProfileImage());
this.insertStmt.bindString(5, feed.getContentDetails());

long result = this.insertStmt.executeInsert();
return result;
}
后来,我在活动中使用了这种方法:

            for(int i = 0; i < feedsAdapter.getCount() - 1; i++)
            {
                helper.insertFeed(feedsAdapter.getItem(i));
            }
for(int i=0;i

问题是,表格始终只有一行,因为新数据将覆盖现有行,而不是插入新行。

您当前的for循环正在插入除最后一行之外的所有FeedsModel。如果列表中只有一个模型,它将解释为什么您没有看到表中的任何新插入,而是:

for (FeedsModel feedsModel : feedsAdapter) {
    helper.insertFeed(feedsModel);
}

这个语句返回什么
feedsAdapter.getCount()-1
@Siva它返回了11项可能显示sqlite表的查询有问题??1-如果是自动增量字段,则不应插入id值。2-为什么
feedsAdapter.getCount()-1
?删除
-1