我正在尝试清理存储在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参数,因为它使用模式匹配(请参阅注释)
从table.db中删除
在哪里idcol IN
(SELECT idcol FROM db.table WHERE col LIKE’%X%’)
或者idcolin
(SELECTidcol 1 FROMdb.tableWHEREcol` LIKE’%X%’)

dawei

【声明】:淮南站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。