当前位置: 首页 > news >正文

数据库内数据已清除,刷新后又出现

背景

源于客户需求要写一个告警接口,对第三方接口的返回值进行判断,达到一定数值后要推送告警,数值正常后要推送告警恢复。经过对数据的分析以及接口逻辑处理,采用数据库查询写入等方式。(对此告警接口感兴趣的朋友请点击: 告警推送,还在编辑中。)
测试时往数据库写入发现逻辑有问题,在修改过程中发现数据库中的数据还在变动,即便我不进行任何操作。

问题

连接数据库,找到test库,test111表,因为我之前已经进行过truncate table ‘test111’,所以目前此表应该是有结构但是无数据,可是查询后还有值。

show databases;
use test;
show tables;
desc test111;
select * from test111 limit 1;

将目前已有数据部分手动清除:输入以下命令

truncate table ‘test111’;

select * from test111 where id = ‘1’;

此时查询表显示为空,但等2秒后再查询发现还有。

删除此表,除非不再建同名表,才可以解决问题。可是现在只是测试,如果以后生产环境遇到类似问题,不能随便改数据库!!!!!!我个人不觉得这是什么好方法。

解决方案

  1. 查看表内的数据,是否能找到对应的执行内容,也就是什么进程导致的数据写入。
  • 我的这个比较简单,因为写入有明确的id及数据内容,我就找到了是某一个接口,原来虽然那个测试接口我已经在页面上停掉了,但是进程还在执行中,我把进程杀掉后数据库表正常了。
  • 此处还涉及到一个问题,相当于是进程还在导致的程序执行写入数据库,也就是我要看三个地方,页面,进程,数据库。页面删除了不代表进程和数据库清理,同理进程杀掉了因为数据库仍有数据导致页面有显示。以后此处要多注意了。

总结

简单就是:进程没有停干净。根据数据库表中数据找到进程,杀掉,再清理一遍库,稍后再查询看看是不是正常了。

相关文章:

  • Google 邀请您参加 Build with AI 2024 线下活动
  • 55、Qt/事件机制相关学习20240326
  • Java 多态、包、final、权限修饰符、静态代码块
  • 数据结构面试常见的问题以及详细的解答(附带相关知识点)
  • Java 实现缓存的三种方式
  • [力扣DP]72. 编辑距离
  • 机器学习——元学习
  • python外网下载指定库导入内网的方法
  • 美易官方:盘前道指期货涨0.5%,游戏驿站跌逾15%
  • Thingworx高可用集群部署(八)-Ignite集群部署
  • jsp指令和动作
  • Unity PS5开发 天坑篇 之 URP管线与HDRP管线部署流程以及出包介绍04
  • 快速幂算法在Java中的应用
  • vue页面实现左右div宽度,上下div高度分割线手动拖动高度或者宽度自动变化,两个div宽度或者高度拉伸调节,实现左右可拖动改变宽度的div内容显示区
  • 通过Caliper进行压力测试程序,且汇总压力测试问题解决
  • [数据结构]链表的实现在PHP中
  • Angular 响应式表单 基础例子
  • AngularJS指令开发(1)——参数详解
  • ECMAScript入门(七)--Module语法
  • iOS帅气加载动画、通知视图、红包助手、引导页、导航栏、朋友圈、小游戏等效果源码...
  • leetcode46 Permutation 排列组合
  • node和express搭建代理服务器(源码)
  • SSH 免密登录
  • TiDB 源码阅读系列文章(十)Chunk 和执行框架简介
  • Web Storage相关
  • 二维平面内的碰撞检测【一】
  • 关于springcloud Gateway中的限流
  • 解析 Webpack中import、require、按需加载的执行过程
  • MiKTeX could not find the script engine ‘perl.exe‘ which is required to execute ‘latexmk‘.
  • ​一文看懂数据清洗:缺失值、异常值和重复值的处理
  • # Panda3d 碰撞检测系统介绍
  • #[Composer学习笔记]Part1:安装composer并通过composer创建一个项目
  • #NOIP 2014# day.1 生活大爆炸版 石头剪刀布
  • #NOIP 2014# day.2 T2 寻找道路
  • (¥1011)-(一千零一拾一元整)输出
  • (1)Android开发优化---------UI优化
  • (poj1.3.2)1791(构造法模拟)
  • (Redis使用系列) Springboot 使用redis的List数据结构实现简单的排队功能场景 九
  • (编译到47%失败)to be deleted
  • (超简单)构建高可用网络应用:使用Nginx进行负载均衡与健康检查
  • (二)c52学习之旅-简单了解单片机
  • (附源码)ssm考试题库管理系统 毕业设计 069043
  • (附源码)计算机毕业设计ssm-Java网名推荐系统
  • (附源码)小程序 交通违法举报系统 毕业设计 242045
  • (每日持续更新)jdk api之FileFilter基础、应用、实战
  • (三分钟)速览传统边缘检测算子
  • (五)IO流之ByteArrayInput/OutputStream
  • (转)微软牛津计划介绍——屌爆了的自然数据处理解决方案(人脸/语音识别,计算机视觉与语言理解)...
  • **PyTorch月学习计划 - 第一周;第6-7天: 自动梯度(Autograd)**
  • .NET DevOps 接入指南 | 1. GitLab 安装
  • .Net MVC4 上传大文件,并保存表单
  • .net Signalr 使用笔记
  • .net 反编译_.net反编译的相关问题
  • .Net转Java自学之路—基础巩固篇十三(集合)
  • @require_PUTNameError: name ‘require_PUT‘ is not defined 解决方法