首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Flutter floor数据库:删除记录后不更新select *查询返回流

Flutter floor数据库是一种轻量级的本地数据库解决方案,它是基于SQLite构建的ORM(对象关系映射)库。它提供了一种简单且直观的方式来处理本地数据存储和查询。

在使用Flutter floor数据库时,如果删除了数据库中的记录,但在执行select *查询后,返回的流(Stream)中仍然包含已删除的记录,这可能是由于缓存导致的。

为了解决这个问题,可以尝试以下方法:

  1. 清除缓存:在执行删除操作后,可以尝试清除数据库的缓存。可以通过调用dao对象的dao.refresh(entity)方法来刷新实体对象的状态,以确保查询结果中不包含已删除的记录。
  2. 使用流转换器:可以在查询语句中使用流转换器来过滤已删除的记录。可以创建一个自定义的流转换器,通过过滤掉已删除的记录来返回更新后的流。例如,可以使用dao对象的@Query注解来定义查询语句,并在查询结果上应用自定义的流转换器。
  3. 重新加载数据:如果以上方法无效,可以尝试重新加载数据。可以在删除记录后,手动执行一次查询操作,以获取最新的数据。这样可以确保查询结果中不包含已删除的记录。

总结起来,解决Flutter floor数据库删除记录后不更新select *查询返回流的问题,可以通过清除缓存、使用流转换器或重新加载数据来实现。这样可以确保查询结果中不包含已删除的记录。

关于Flutter floor数据库的更多信息和使用方法,您可以参考腾讯云提供的相关产品和文档:

  • 腾讯云数据库:https://cloud.tencent.com/product/dcdb
  • 腾讯云数据库产品介绍:https://cloud.tencent.com/product/dcdb
  • Flutter floor数据库官方文档:https://github.com/vitusortner/floor
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

第10章_索引优化与查询优化

** 原因: ① 执行子查询时,MySQL 需要为内层查询语句的查询结果 建立一个临时表 ,然后外层查询语句从临时表 中查询记录查询完毕,再 撤销这些临时表 。...对于普通索引来说,查找到满足条件的第一个记录 (5,500) ,需要查找下一个记录,直到碰到第一 个不满足 k=5 条件的记录。...在 数据库正常关闭(shutdown) 的过程中,也会执行 merge 操作。 如果能够将更新操作先记录在 change buffer, 减少读磁盘 ,语句的执行速度会得到明显的提升。...如果所有的更新后面,都马上 伴随着对这个记录查询 ,那么你应该 关闭 change buffer 。而在 其他情况下,change buffer 都能提升更新性能。...门店在添加会员的时候,先到总部 MySQL 数据库中获取这个最大值,在这个基础上加 1,然后用这个值 作为新会员的 “id”,同时,更新总部 MySQL 数据库管理信息表中的当前会员编号的最大值。

40730

有哪些优化mysql索引的方式请举例(sqlserver索引优化)

因为更新表时,MySQL不仅要保存数据,还要保存一下索引文件每次更新添加了索引列的字段,都会调整因为更新所带来的键值变化的索引信息。...(在高并发下倾向创建组合索引) 查询中排序的字段,排序字段若通过索引去访问将大大提高排序速度 查询中统计或者分组字段 3.6 哪些情况不适合建索引 Where条件里用不到的字段创建索引 表记录太少(300w...SIMPLE [ˈsɪnpl] :简单的select查询,查询包含子查询或者UNION PRIMARY:查询中若包含任何复杂的子部分,最外层查询则被标记为(最后加载的那个) SUBQUERY [ˈkwɪəri...当然,如果不是调优需要的话,一般建议启动该参数,因为开启慢查询日志会或多或少带来一定的性能影响。慢查询日志支持将日志记录写入文件。...、或某些记录已经被删除了,这种现象就叫做“不可重复读”。

1.1K10
  • 报错注入详解_报错注入的过程

    加大难度,可以有 SELECT CONCAT((SELECT database()),FLOOR(RAND()*2)), 结果就是security0或security1,这里假设数据库名为security...如果再加上from 表名,则一般会返回security0或security1的一个集合,数目由表本身所含记录数决定。...再加上group by语句,使用information_schema数据库查询表、列信息等,例如: SELECT CONCAT((SELECT database()),FLOOR(RAND()*2))...a --+ 2、updatexml报错注入 原理:updatexml()函数实际上是去更新了XML文档,但是我们在xml文档路径的位置里面写入了子查询,我们输入特殊字符,然后就因为不符合输入规则然后报错了...本站仅提供信息存储空间服务,拥有所有权,承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除

    1.7K30

    sqlserver事务锁死_sql触发器格式

    inserted表: 临时保存了插入或更新记录行; 可以从inserted表中检查插入的数据是否满足业务需求; 如果不满足,则向用户发送报告错误消息,并回滚插入操作。...deleted表: 临时保存了删除更新前的记录行; 可以从deleted表中检查被删除的数据是否满足业务需求; 如果不满足,则向用户报告错误消息,并回滚插入操作。...rollback transaction -- 回流之前的操作 end go -- 测试数据 select *from student update student set tc=50 where...stno=121001 go -- 4、在student表中,防止用户删除'通信工程'专业的学生记录信息 create trigger trig_deletestudent on student...after delete as if exists(select *from deleted where speciality='计算机') begin print '禁止删除《计算机》专业的学生所有记录

    1K10

    MySQL基础

    DATABASE [IF NOT EXISTS] 数据库名; USE 数据库名; SELECT DATABASE(); DROP DATABASE [IF EXISTS] 数据库名; 表操作 SHOW...[WHERE 条件]; 删除数据 DELETE FROM 表名 [WHERE 条件]; # 数据查询(DQL) DQL 语句 SELECT 字段列表 -> 字段名[AS]别名 FROM 表名 WHERE...ALTER TABLE 表名 DROP FOREIGN KEY 外键名称; 删除 / 更新行为 行为 说明 NO ACTION 当在父表中删除更新对应记录时,首先检查该记录是否有对应外键,如果有则不允许删除...(与 RESTRICT 一致) RESTRICT 当在父表中删除更新对应记录时,首先检查该记录是否有对应外键,如果有则不允许删除更新。...(与 NO ACTION 一致) CASCADE 当在父表中删除更新对应记录时,首先检查该记录是否有对应外键,如果有,则也删除更新外键在子表中的记录

    99330

    【uniapp】实现买定离手小游戏

    ,是否有最后一期,存在的话开奖,然后写入数据库,发放奖励,通过定时计划任务每几分钟触发,用户端在查到数据库信息,换算开盘时间,进行押注 创建期数 新建game_system.php <?...代码通过数据库查询获取最后一期的信息,如果有查询结果,说明已经存在期数记录,就对该期进行更新操作:生成1、2或3的随机数,并将这个随机数以及标记为已处理的状态写入数据库。...如果没有查询到任何记录,说明是第一期,代码将创建第一期的记录,并将下一期的信息也插入数据库,但这个记录的期数是当前期数加1,即第二期。...定时计划 通过宝塔的定时计划任务,到点触发URL,这个时候你可能会说程序会在创建过程中出现很多BUG,是的,当速度匹配用户提交数据有很多不确定性,所以我们需要对下面的用户操作部分做一些调整,避免出现这些情况...首先查询该用户的余额,并检查余额是否足够支付押注金额。 如果余额足够,进行余额扣除操作,更新用户余额,并将押注记录插入periods_data表中。

    47430

    oracle面试必会6题经典_oracle常见面试题

    下列哪个选项表示Oracle中select语句的功能, 并且不需要使用子查询(C) A.可以用select语句改变Oracle中的数据 B.可以用select语句删除Oracle中的数据 C.可以用select...5 from dual; 下列哪个函数返回结果-97(B) A.ceil() B.floor() C.round() D.trunc() 5....只有满足联接条件的记录才包含在查询结果中,这种联接为__C____。 A、左联接 B、右联接 C、内部联接 D、完全联接 16. 索引字段值唯一,应该选择的索引类型为____B__。...A、从S 表中彻底删除年龄大于60 岁的记录 B、S 表中年龄大于60 岁的记录被加上删除标记 C、删除S 表 D、删除S 表的年龄列 19. SELECT-SQL 语句是__B___。...本站仅提供信息存储空间服务,拥有所有权,承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除

    2.3K100

    面试系列-mysql基础语法

    delete语句执⾏删除的过程是每次从表中删除⼀⾏,并且同时将该⾏的删除操作作为事务记录在⽇志中保存,以便进⾏进⾏回滚操作。...truncate、drop 是数据库定义语⾔(ddl),操作⽴即⽣效,原数据不放到 rollbacksegment 中,不能回滚,操作触发 trigger。...如果有⾃增列,truncate⽅式删除之后,⾃增列的值会被初始化,delete⽅式要分情况(如果数据库被重启了,⾃增列值也会被初始化,数据库未被重启,则不变)如果要删除表定义及其数据,请使⽤ drop...: where是在分组(聚合)前对记录进⾏筛选,⽽having是在分组结束的结果⾥筛选,最后返回整个sql的查询结果。...可以把having理解为两级查询,即含having的查询操作先获得不含having⼦句时的sql查询结果表,然后在这个结果表上使⽤having条件筛选出符合的记录,最后返回这些记录,因此,having是可以跟聚合函数的

    1.5K41

    【MySQL高级】视图与触发器

    视图并不在数据库中实际存在,行和列数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的。通俗的讲,视图就是一条SELECT语句执行返回的结果集。...意味着视图只是一个规则,语句规则,当查询视图时, 把查询视图的语句比如:where…那些与创建时的语句where子句等合并,分析,形成一条select语句。...​ [WITH [CASCADED | LOCAL] CHECK OPTION] 选项 : WITH [CASCADED | LOCAL] CHECK OPTION 决定了是否允许更新数据使记录不再满足视图的条件...触发器的这种特性可以协助应用在数据库端确保数据的完整性 , 日志记录 , 数据校验等操作 。 使用别名 OLD 和 NEW 来引用触发器中发生变化的记录内容,这与其他的数据库是相似的。...:',new.name,', age:',new.age,', salary:',new.salary,')')); end $ ​ DELIMITER ; 创建 update 型触发器,完成更新数据时的日志记录

    52320

    -------------分分钟带你玩转SQL高级查询语句(库函数,存储过程)

    一 、数据库函数 MySQL 数据库函数提供了能够实现各种功能的方法,使我们在查询记录时能够更高效的输出。MySQL 内建了很多函数,常用的包括数学函数、聚合函数、字符串函数和日期时间函数。...1 数学函数 数据库内存储的记录,经常要进行一系列的算术操作,所以 MySQL 支持很多数学函数。常用的数学函数如表 所示。 表 MySQL 数学函数 ? ?...(x)返回小于或等于x的最小整数 Floor 向下取整 mysql> select floor(1.09); +-------------+ | floor(1.09) | +-------------...| +-----------------+ | 10 | +-----------------+ 1 row in set (0.00 sec) 2、聚合函数 MySQL 数据库函数中专门有一组函数是特意为库内记录求和或者对表中的数据进行集中概括而设计的...(6) 删除存储过程 存储过程创建之时是存储到 MySQL 数据库中的,当程序不在调用这个存储过程时,也就意味这个存储过程被废弃了,废弃的存储过程需要从数据库中将其删除

    2.5K21

    sql注入之报错注入「建议收藏」

    报错注入 报错注入在没法用union联合查询时用,但前提还是不能过滤一些关键的函数。 报错注入就是利用了数据库的某些机制,人为地制造错误条件,使得查询结果能够出现在错误信息中。...这里主要记录一下xpath语法错误和concat+rand()+group_by()导致主键重复 xpath语法错误 利用xpath语法错误来进行报错注入主要利用extractvalue和updatexml...: 查数据库名:id='and(select extractvalue(1,concat(0x7e,(select database())))) 爆表名:id='and(select extractvalue...读取每一行的key时,如果key存在于临时表中,则不在临时表中更新临时表的数据;如果key不在临时表中,则在临时表中插入key所在行的数据。...本站仅提供信息存储空间服务,拥有所有权,承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除

    98130

    Flink流之动态表详解

    对批处理数据(例如,关系数据库中的表)执行的查询可以访问完整的输入数据。 流式查询在启动时无法访问所有数据,必须“等待”数据流入。 批处理查询在生成固定结果终止。...流式查询会根据收到的记录不断更新其结果,并且永远不会完成。 尽管存在这些差异,但使用关系查询和SQL处理流并非不可能。 高级关系数据库系统提供称为物化视图的功能。...实例化视图在修改其定义查询的基表时会过时。 Eager View Maintenance是一种在更新基表立即更新实例化视图的技术。...插入第一行[Mary,/ home],结果表(右侧,顶部)由一行[Mary,1]组成。 当第二行[Bob,/ car]插入到click表中时,查询更新结果表并插入一个新行[Bob,1]。...SELECT user, COUNT(url) FROM clicks GROUP BY user; 计算更新:即使只添加或更新了单个输入记录,某些查询也需要重新计算和更新大部分发出的结果行。

    4.2K10

    基于Hadoop生态圈的数据仓库实践 —— 进阶技术(一)

    修改数据库模式如下图所示。 ? 修改DW数据库模式如下图所示。 ? 1. 修改数据库模式 使用下面的SQL脚本修改源数据库模式。...这些在关系数据库中很普通的操作,最后一步查询居然出错,如下图所示。 ?...修改定期装载regular_etl.sql文件 修改数据库模式,还要修改已经使用的定期装载HiveQL脚本。修改的脚本如下所示。...last_load, ${hivevar:cur_date} FROM rds.cdc_time; -- 装载customer维度 -- 设置已删除记录和地址相关列上SCD2的过期,用运算符处理...,所以这里使用了一个临时表存储需要更新记录,用先delete再insert代替update -- 因为SCD1本身就不保存历史数据,所以这里更新维度表里的所有customer_name改变的记录,而不是仅仅更新当前版本的记录

    48730

    SQL报错注入_报错注入原理

    union联合查询注入实施的条件是网页能回显我们第二条select语句的内容; 报错注入实施的条件是数据库中sql语句的报错信息,会显示在页面中。...加上count(*)进行计数,触发了重复键冲突,所以出现报错信息。 (4)利用。我们可以利用报错信息,获得数据库中的信息。...3.2 获取敏感信息 以count()+floor()+rand()+group by组合为例,具体演示获取敏感信息的过程 3.2.1 获取数据库名 与上一节union查询类似,使用命令让报错信息显示出站点所在数据库名...查询类似,使用命令让报错信息显示出站点所在数据库名下所有表名?...本站仅提供信息存储空间服务,拥有所有权,承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除

    1.9K30

    SQL注入-报错注入

    读取每一行的key时,如果key存在于临时表中,则不在临时表中更新临时表的数据;如果key不在临时表中,则在临时表中插入key所在行的数据。...,floor(rand(0)*2))--+&submit=æ¥è¯¢ 查询结果: 2.利用extractvalue()函数进行报错注入 extractvalue()函数为MYSQL对XML文档数据进行查询的...name=lili'and extractvalue(1,concat(1,(select database())))--+&submit=æ¥è¯¢ 查询结果: (2)获取所有的数据库库名 http...查询结果: 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,拥有所有权,承担相关法律责任。...如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除

    3.2K10

    N天爆肝数据库——MySQL(3)

    DCL-权限控制 MySQL常用 ALL,ALL PRIVILEGES 所有权限 SELECT 查询 INSERT 插入 UPDATE 修改 DELETE 删除 ALTER 修改表 DROP 删除数据库...个字符串长度 TRIM(str)去掉字符串头部和尾部的空格 SUBSTRING(str,start,len)返回从字符串str从start位置起的len个长度的字符串 常用的数值函数 CEIL(x)向上取整 FLOOR...MONTH(date)获取指定date的月份 DAY(date)获取指定date的日期 DATE_ADD(date,INTERVAL expr type)返回一个日期/时间值加上一个时间 间隔expr的时间值...value1,value2)如果value1不为空,返回value1,否则返回value2 CASE WHEN [val]THEN[res1]...ELSE[default] END 如果val1为true,...ALTER TABLE 表名DROP FOREIGN KEY 外键名称; 删除/更新行为 NO ACTION RESTRICT CASCADE SET NULL SET DEFAULT ALTER

    18120

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券