惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园_首页
F
Full Disclosure
Martin Fowler
Martin Fowler
The GitHub Blog
The GitHub Blog
L
LangChain Blog
T
The Blog of Author Tim Ferriss
D
DataBreaches.Net
GbyAI
GbyAI
Y
Y Combinator Blog
博客园 - Franky
WordPress大学
WordPress大学
Apple Machine Learning Research
Apple Machine Learning Research
A
About on SuperTechFans
Blog — PlanetScale
Blog — PlanetScale
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
G
Google Developers Blog
罗磊的独立博客
Hugging Face - Blog
Hugging Face - Blog
博客园 - 三生石上(FineUI控件)
IT之家
IT之家
Jina AI
Jina AI
N
Netflix TechBlog - Medium
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Recent Announcements
Recent Announcements
酷 壳 – CoolShell
酷 壳 – CoolShell
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 聂微东
腾讯CDC
H
Help Net Security
H
Heimdal Security Blog
J
Java Code Geeks
C
CXSECURITY Database RSS Feed - CXSecurity.com
T
The Exploit Database - CXSecurity.com
The Register - Security
The Register - Security
大猫的无限游戏
大猫的无限游戏
T
Threatpost
B
Blog RSS Feed
T
Threat Research - Cisco Blogs
Microsoft Security Blog
Microsoft Security Blog
S
Securelist
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
B
Blog
量子位
AWS News Blog
AWS News Blog
Project Zero
Project Zero
P
Proofpoint News Feed
Cisco Talos Blog
Cisco Talos Blog
Spread Privacy
Spread Privacy
S
Schneier on Security

博客园 - 山顶洞外人

k8s部署dengine-3.3.6.9 wsl 磁盘 SQL 写法对比 关于达梦8管理工具执行多行sql语法错误问题 从C#接口的属性获取多个实现类中字段的值 idea 中无法连接 sql server 数据库,报错 [08S01] 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接 TransactionScope 图片扩容 已将此 订阅标记为不活动,必须将其重新初始化。需要删除NoSync 订阅,然后重新创建它们 visual studio 2017 将winform 打包成 msi 安装文件 漏洞处理 阿里云物联网测试 net core3.1 + electron 9.31.2 项目初始化 sql 脚本执行时间 webapi filter 分组后条件查询 一行拆多行 有关数据库锁表 order by 排序的数字异常
delete in 事故清表
山顶洞外人 · 2021-01-28 · via 博客园 - 山顶洞外人
DELETE FROM dbo.FW_TASK_ACCEPT
    WHERE TASK_ID IN ( SELECT TASK_ID
                        FROM dbo.FW_TASK );

上述是事故语句

按照字面的的语法本身没什么错误,编译也不会报错。导致删除表全部数据根源在于上下文,或者说作用域,这里我个人这个称呼便于理解

有一个基础的问题就是再子查询中 select 字段的时候是可以查询外层 “字段 ” 的,这就是主要的事故原因。我们看子查询中 TASK_ID  这里因为失误 写成了  

SELECT TASK_ID  FROM dbo.FW_TASK  其实  dbo.FW_TASK  表中并没有这个  TASK_ID  字段,但是因为作用域关系  SELECT TASK_ID  也是合法的,只不过是上层的   TASK_ID,那

这样就明了了,DELETE  删除时逐条删的,那么每一次  SELECT TASK_ID  都是自己的   TASK_ID,所以会删除 dbo.FW_TASK_ACCEPT 表中全部数据。

总结:

1.DELETE FROM ...  WHERE   必须带  WHERE

2.语句操作必须带重命名,如:

DELETE FROM dbo.FW_TASK_ACCEPT
    WHERE TASK_ID IN ( SELECT fTask.ID
                        FROM dbo.FW_TASK fTask);

3.理解掌握Sql语法