脏数据处理

脏数据是什么  由于写代码程序员 逻辑不严谨 有时候 一条删除一条数据的时候没有把它关联的数据一起删掉 就造成了脏数据的存在 ,举个例子吧

删除一场考试试下的一个用户 ,用户删除了 。但是这个用户关联的考试 试卷 组等 这些数据都没有删除,这样就造成了一些废数据,也就是我说的脏数据

当有其他的一切sql查到这些数据的时候 前台的显示就对不上数了 。

过滤代码如下

<?php
 require dirname(__FILE__). '/controllerShare.php';
 class jsonTest extends L {
  	public function __construct()
   	 {
        	$this->db = of_db::inst();
                $this->courseModel = new model_CourseModel();
                $this->planModel = new model_PlanModel();
		$this->redis = of_accy_cache_redis::inst();
   	 }	 
   	public function index(){
		$courseModel = new model_CourseModel();
	   	var_dump($courseModel->getCourseAllUsers('60'));
		die();
	}
        public function kechengjiankong(){
                if(isset($_GET['cid'])&&!empty($_GET['cid'])){
                $allUser=model_CourseModel::getCourseAllUsers($_GET['cid']);
		$learning_user = $this->db->sql("SELECT user_id FROM `t_user_learning_history` WHERE `pid` = 0 AND `level` = 1 AND `cid` = '".$_GET['cid']."' GROUP BY `user_id`;");
       		$arr = []; 
		foreach($learning_user as $k=>$v){
			if(!isset($allUser[$v['user_id']])){
				$arr[] = $v['user_id'];	
			}	
		}

                $str = implode(",",$arr);
		$this->db->sql("DELETE FROM t_user_learning_history WHERE t_user_learning_history.cid='".$_GET['cid']."' AND t_user_learning_history.user_id IN ({$str});");
		}else{
		   echo "请以get方式输入cid";
		}		
	}
}

  

 

转载于:https://www.cnblogs.com/yumingzhao/p/9396524.html

### 如何在 Unity 中进行数据清理和处理的最佳实践 #### 数据的概念及其影响 数据是指那些不符合预期的数据状态,可能由于各种原因(如编程错误、外部输入不合法等)导致。这些数据如果未得到妥善处理,可能会引发应用程序崩溃或不可预测的行为。 #### 使用 C# 异常处理来应对数据 对于可能出现非法操作的地方,应该采用 try-catch 结构来进行防护。当检测到异常情况时,可以记录日志并采取适当措施恢复正常的执行流[^3]: ```csharp try { // 可能会抛出异常的操作 } catch (ArgumentException ex) { Debug.LogError($"参数错误: {ex.Message}"); // 清理现场, 返回默认值或其他安全响应 } ``` #### 数据验证与预处理 在接收任何来自用户的输入之前,应当先做必要的校验工作,确保其格式正确无误后再继续后续逻辑运算。这一步骤能够有效减少因外界因素引入的不确定性[^1]: ```csharp if (!int.TryParse(userInputString, out int number)) { throw new ArgumentException("请输入有效的整数!"); } // 继续使用已验证过的数值... ``` #### 利用 `using` 语句管理临时资源 针对一些需要频繁创建销毁的对象实例(比如文件访问),建议通过 `using` 来自动释放关联资源,防止内存泄露的同时也降低了发生意外的概率[^4]: ```csharp using (var streamReader = new StreamReader(filePath)) { string content = await streamReader.ReadToEndAsync(); ProcessContent(content); } ``` #### 日志记录与调试工具的应用 启用详细的运行时日志有助于追踪问题根源所在;借助 Profiler 等内置分析器也可以直观看到性能瓶颈位置,从而更有针对性地调整算法设计或者优化资源配置. #### 定期备份重要资产 最后但同样重要的是一套完善的版本控制系统加上定期存档习惯,即使遇到最糟糕的情况也能迅速回滚至稳定版,最大限度降低损失风险。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值