在 MySQL 5.0 中删除重复行
提供的代码使用子查询来识别 posts 表中的重复 ID 并尝试删除它们。然而,这种方法与 MySQL 5.0 不兼容。为了避免这个问题,我们需要修改代码以使用不同的语法。
重写代码
从 posts 表中删除重复行的修改后的代码是如下:
DELETE FROM posts WHERE id IN ( SELECT id FROM ( SELECT id, COUNT(id) AS duplicate_count FROM posts GROUP BY id HAVING duplicate_count > 1 ) AS subquery )
此代码使用嵌套子查询来识别重复的 ID。子查询首先按 id 列对行进行分组,并计算每个 ID 出现的次数。然后选择重复计数大于 1 的行,并将其 ID 作为结果集返回。
外部查询使用 IN 运算符将子查询返回的 ID 与 posts 表中的 ID 进行匹配。这可以确保只删除重复的行。
附加说明
以上是如何在MySQL 5.0中删除重复行?的详细内容。更多信息请关注PHP中文网其他相关文章!