关于联合删除的SQL语句
这个语句并不复杂,也用过很多次,不过今天遇到了,死活想不起来,于是又推了一遍才得到答案
一个表结构如下
mysql> desc atm_user;
+----------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+----------------+
| name | varchar(15) | | MUL | | |
| tel | varchar(15) | | | NULL | |
+----------+-------------+------+-----+---------+----------------+
现在前端传过来一个数组,里面有若条记录,每条记录中都有两个值,一个是name, 一个是tel 现在要删除数据库里没有在数组里包含的记录
如:现在数据库中记录为
a ..... 1
b ..... 2
c ...... 2
a ....... 2
数组中传来的是 {a,1},{c,2}
那现在问题出现了,如何用一句SQL删除 {b,2}和{a,2}呢
其实where后面的逻辑很简单,只要不删除 name = a and tel =1 和 name=c and tel =2 的就可以了 。。。。
推导的过程这里不会打数学里的公式……没法写了。。。。。。。。
答案:
WHERE (name <> 'a' or tel <>1) and
(name <> 'c' or tel <> 2)
看来数学的与非公式真的很有用。。。。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· 因为Apifox不支持离线,我果断选择了Apipost!
2008-03-11 SuseLinux VNC配置(转)
2008-03-11 诚觅兼职linux服务器配置顾问