mysql - 删除 MySQL 中关系位置的记录?

标签 mysql relational

我正在尝试清理存储在 MySQL 表中的记录。如果某行包含 %X%,我需要删除该行及其紧下方的行,无论内容如何。例如。 (抱歉,如果该表侮辱了任何人的智慧):

| 1 | leave alone 
| 2 | Contains %X% - Delete
| 3 | This row should also be deleted
| 4 | leave alone
| 5 | Contains %X% - Delete
| 6 | This row should also be deleted
| 7 | leave alone

有没有办法只使用几个查询来做到这一点?或者我是否必须先执行一个 SELECT 查询(使用 %x% 搜索参数)然后遍历这些结果并执行 DELETE...WHERE 为返回的每个索引 + 1

最佳答案

这应该可以工作,尽管它有点笨拙(可能需要检查 LIKE 参数,因为它使用模式匹配(参见评论) 从中删除。db 其中 idcol 在 ( SELECT idcol FROM db.table WHERE col LIKE '%X%') 或 idcolIN ( SELECTidcol+1 FROMdb.tableWHEREcol` LIKE '%X%')

关于mysql - 删除 MySQL 中关系位置的记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15457521/

相关文章:

php - 如何通过 Android 连接到我的 MySQL 数据库后端而不向公众公开?

使用多个词的 PHP 搜索

php - 从 mysql 数据库检索预览时损坏

java - JDBC - NetBeans x MySQL

MySQL 查询。无法获得它

sql - 关系表 - 是否推荐使用 JSON?

具有可变列数的数据集的 MySQL 数据库设计

SQL 两个表并创建链接表

c++ - `std::less` 是如何工作的?

sqlite - 如何访问 SQL 脚本中最后插入的行 ID?