mysql - MySQL DELETE 查询影响比 SELECT 查询更多的行
问题描述
我有这个返回45 行的 SELECT 查询:
SELECT *
FROM pages as p
INNER JOIN mdata as m
WHERE m.pid = p.id AND
(m.key LIKE "%RMY%" OR p.type = "page" OR
p.type = "parent" OR p.type = "sub")
然后当我使用这个 DELETE 查询时,它说64 行受到影响:
DELETE m,p
FROM pages as p
INNER JOIN mdata as m
WHERE m.pid = p.id AND
(m.key LIKE "%RMY%" OR p.type = "page" OR
p.type = "parent" OR p.type = "sub")
不确定我的 DELETE 查询是否有问题。
有没有办法返回已删除的行,以便我可以检查哪些行正在被删除?
解决方案
我认为这是正确的查询:
DELETE m,p
FROM pages as p
INNER JOIN mdata as m
ON m.pid = p.id WHERE
(m.key LIKE "%RMY%" OR p.type IN("page", "parent","sub"))
推荐阅读
- python - Pytorch,将顺序输出转换为二进制的标准层?
- java - 使用 Primefaces 数据表显示嵌套列表
- javascript - 在所有回调完成后,如何处理多个 Google Places API 结果?
- kotlin - EnableReactiveMethodSecurity 用于带有协程的反应式 kotlin 应用程序
- java - javac 无法编译上限通配符,但 Eclipse 可以
- php - CODEIGNITER 异常:在布尔值上调用成员函数 num_rows()
- sql - PosrgreSQL 数据透视表
- ruby - 用相同的字符转换数组中的字符串
- iis - 如何在iis中重写
- r - 根据 R 中一列的值将值从一个数据帧插入另一个数据帧