# 1. 待删除的多个参数(业务传入) oenum_list = ["OE123", "OE456"] start_time = "2025-01-01 00:00:00" # 新增参数1:时间阈值 status = 0 # 新增参数2:状态值 # 2. 多参数防注入写法(仅需加新的占位符+传参) if oenum_list: # 核心校验仍保留 # ① SQL中定义多个占位符::ids / :start_time / :status sql = db.text(""" DELETE a, b, c FROM tables a LEFT JOIN tables b ON a.itemid = b.listing_id LEFT JOIN tables c ON a.itemid = c.itemid WHERE a.keyword IN :ids AND a.create_time < :start_time -- 新增参数1:时间条件 AND b.status = :status -- 新增参数2:状态条件 """) # ② 执行时传入字典,key对应占位符,值支持任意类型(自动转义) db.session.execute( sql, { "ids": tuple(oenum_list), # 列表转元组(IN条件必需) "start_time": start_time, # 字符串参数(自动加引号) "status": status # 数字参数(无需手动处理) } ) db.session.commit() else: print("无待删除数据,跳过")python多表关联防注入sql
张小明
前端开发工程师
大模型微调资源合集
大模型微调资源合集 2025聚客AI大模型工程师第六期 文件大小: 36.7GB内容特色: 36.7GB第六期全套视频与代码,深入LLM原理、微调、RAG与部署适用人群: 想系统掌握大模型开发与落地的AI工程师、研究生核心价值: 一站式掌握聚客最新LLM训练、评估与上线全流程&#x…
Java计算机毕设之基于springboot的在线招标系统的设计与实现基于springboot招投标管理系统设计与实现(完整前后端代码+说明文档+LW,调试定制等)
博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…
ES知识点二
数据聚合DSL聚合JavaRestClient聚合示例:SpringBoot整合ES第一步:引入依赖<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-elasticsearch</artifactId></dependency&g…
计算机Java毕设实战-基于springboot的幼儿园管理系统的设计与实现基于Springboot+vue的幼儿园管理系统设计与实现【完整源码+LW+部署说明+演示视频,全bao一条龙等】
博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…
Java毕设项目推荐-基于SpringBoot+Vue游泳用品专卖店商城平台设计与实现基于springboot的游泳用品专卖店系统的设计与实现【附源码+文档,调试定制服务】
博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…
Web前端入门第 89 问:总结 8 种跨域通信处理方案
首先跨域问题是由于浏览器的同源策略(Same-Origin Policy)导致的,基本上所有浏览器都有限制,默认情况是不允许跨域访问的!!APP 的请求不受浏览器的同源策略限制,所以不存在跨域。类似一个服务器…