在 INSERT 上如何检索 ROWID 或 AUTOINCREMENT 值?

On INSERT how do I retrieve ROWID or the AUTOINCREMENT value?

我正在使用 SQLite 编写一个 INSERT,我正在使用一个 AUTOINCREMENT 或只是将 ROWID 用作主键。执行 INSERT 后,如何找出我刚刚插入的行的主键?

如果我在 Sql 服务器上工作,我知道该怎么做,但这是 SQLite。

这是我的代码:

public bool AddPlanet(Planet p)
{
    bool result = false;
    SQLiteConnection sqlConnection;
    using (sqlConnection = new SQLiteConnection(ConnString))
    {
        sqlConnection.Open();
        sqlCommand = new SQLiteCommand(sqlConnection);
        sqlCommand.CommandText =
            String.Format(
                "insert into planet (name, satellites) values ('{0}',{1})"
                , p.Name
                , p.Satellites.ToString()
                );
        sqlCommand.CommandType = CommandType.Text;
        int x = sqlCommand.ExecuteNonQuery();
        // WHAT DO I DO HERE TO FIND OUT THE ROWID OF
        // THE ROW THAT WAS JUST INSERTED?
        if (x > 0) result = true;
        sqlConnection.Close();
    }
    return result;
}  

对于 SQLite,您可以使用

SELECT last_insert_rowid()

这是另一个 Whosebug post,其中包含更多详细信息

如何从 SQLite table 中检索最后一个自动递增的 ID?