我已经用了一段时间了。我来自mysql背景,在这里您必须检查查询的值。在房间里,我发现这有点复杂,因为到目前为止,我可以声明dao insert查询为无效,或者返回rowId的时间一样长--如果我返回一个long,我必须编写一个侦听器来通知UI成功/失败--我的问题是,这有必要吗?我是否需要插入/更新/删除的返回值,还是这些查询一定会成功?
发布于 2021-03-23 11:43:24
我的问题是,这有必要吗?
这要看情况而定,希望下面能更好地解释(至少有一点)。
,我是否需要插入/更新/删除的返回值,还是这些查询一定会成功?不能保证他们一定会成功。但是,您可以假设它们有冲突处理或使用冲突处理。
这在很大程度上取决于实体是如何编码的,例如,假设您有一个带有id和名称的简单表(实体),并且为了简单起见,您拥有autogenerate = true,并且在插入时不允许指定id。除非数据库是庞大的(超出存储设备容量)或调整。一个唯一的id将永远产生。
如果名称需要是UNIQUE,那么您将引入一个方面,使插入不成功的可能性更大。如果将插入的onConflictStrategy作为IGNORE,则复制不会失败,但您可能想知道是否没有插入任何内容(-1返回)。
这只是一个方面。,答案是,您需要考虑数据库的设计,以及应用程序本身的设计,。就我个人而言,我总是将异常/意外事件至少告知用户,这可能意味着是的,这是必要的(通常,压制代码比添加新代码更容易)。
https://stackoverflow.com/questions/66760133
复制相似问题