如何在房间数据中链接删除



我有两个数据库或两个表,例如:一个用于匹配,一个用于匹配中的聊天jn事件部分,注意所有消息插入到一个表中意味着每个匹配的每个聊天都插入到同一个表中我的目标是当我删除一组匹配时,我需要自动删除所有与

匹配的聊天记录

你可以

  • 使用AFTER DELETE触发器,或者
  • 使用带有onDelete动作的外键定义为CASCADE,或者
  • 以编程方式执行删除(可能通过调用两个删除的单个函数(主要是父删除,另一个是子删除)。

Room不支持触发器通过注释,所以你必须创建触发器(s)通过代码,可能使用一个回调,或者onCreate或onOpen方法/函数重写(如果在onOpen那么你应该使用CREATE TRIGGER IF NOT EXSITS ....,以便如果触发器已经存在,它不会失败,但忽略创建)。

有关触发器的更多信息,请参阅https://sqlite.org/lang_createtrigger.html。对于外键,您可能希望参考https://developer.android.com/reference/androidx/room/ForeignKey

最新更新