我定期将表从 CSV 导入到 MYSQL。我需要通过删除行中给定字符串之后的所有行来清理表。每次导入可能有不同数量的记录,因此在设置行ID之后删除将不起作用,因为该字符串下次可能位于不同的行上,因此需要挑选出文本。 有人知道这是如何做到的吗? 下面的示例显示了不同的行和文本。所以我需要删除“Text d”之后的所有行。
Text a
Text x
Text k
Text d
Text a
Text u
最佳答案
假设您有一个 ID 列,并且 ID 值的顺序与“删除 'Text d' 之后的每一行”的顺序相同,您可以先读取该特定行的 ID:
SELECT
id
FROM
yourTable
Where
yourColumn = 'Text d'
然后您可以使用该 ID 进行第二次查询来删除以下所有行
DELETE FROM
yourTable
WHERE
id > theSelectedIdValue
您可以在一个查询中使用它,如下所示:
DELETE FROM
yourTable
WHERE
id > (SELECT
id
FROM
yourTable
WHERE
yourColumn = 'Text d')
但是我不确定这个查询在 MySQL 中是否有效。
关于mysql - 删除表中某一行中某个字符串之后的所有记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47483137/