gpt4 book ai didi

android - 我怎样才能得到最后插入的事件的ID

转载 作者:行者123 更新时间:2023-11-29 23:23:59 26 4
gpt4 key购买 nike

首先我在 Xamarin.Android 上使用 SQLite-Net-Pcl

我的问题是,我需要创建一个递归的事件,我需要连接所有这些递归事件(以防有人编辑或删除它们)。我需要使用原始事件的 ID 将其连接到其他事件

-> creates new recursive event  
-> gets the id of inserted event
-> uses that id to connect all recursive events together on a "NumDocConnection"

我的Id是自增的,是主键。

那么,我怎样才能得到最后插入的事件的 ID?还是这是处理这种情况的好方法?

最佳答案

how can I get the id of the last inserted event?

基于 int 的 primary/auto-inc 值是通过您插入的对象获得的(对象实例在 Insert 期间更新为新值)。

var newRecord = new Record { SomeString = "StackOverflow" };
var numofRecordsInserted = conn.Insert(newRecord);
Console.WriteLine($"Newly inserted id = {newRecord.Key}");

is this even a good way do to deal with the situation

这取决于您的应用程序。 pri-key/auto-inc 字段会阻止重复使用生成的 ID,直到重置数据库(通过删除/重新创建或通过 sqlite_sequence 表重置)。

你是否应该将它用作“外”键,这里有很多意见,有些是,有些不是......就个人而言,如果你从不在你的应用程序外部使用它(即它不是通过远程 API 传输/同步)它作为外键运行良好/快速,如果您了解 SQLite 如何创建它以及何时可以/可以重置它,请参阅链接文档。

If the AUTOINCREMENT keyword appears after INTEGER PRIMARY KEY, that changes the automatic ROWID assignment algorithm to prevent the reuse of ROWIDs over the lifetime of the database. In other words, the purpose of AUTOINCREMENT is to prevent the reuse of ROWIDs from previously deleted rows.

回复:https://sqlite.org/autoinc.html

关于android - 我怎样才能得到最后插入的事件的ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53814959/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com