php - 删除表 MYSQL 中除前 100 行以外的所有行

标签 php mysql phpmyadmin

<分区>

我想知道是否有办法删除 mysql 数据库表中除前 100 行以外的所有内容。这可以使用 phpmyadmin GUI 完成吗?

最佳答案

是的,有可能,具体取决于您所说的“前 100”是什么意思。我假设您有一个自动递增的主键列(例如 id),并且“前 100”行将是按该列排序时最先显示的行。如果是这样,要找到前 100 行的最后一个 id,您可以这样写:

SELECT MAX(m.id) FROM (SELECT id FROM mytable ORDER BY id LIMIT 100) m

现在,您想要删除 id 大于此最大值的所有行,因此您可以这样写:

DELETE FROM
  mytable
WHERE
  id > (SELECT MAX(m.id)
        FROM
          (SELECT id FROM mytable ORDER BY id LIMIT 100) m);

这是 sqlfiddle这是 5 行的演示。

关于php - 删除表 MYSQL 中除前 100 行以外的所有行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38387048/

相关文章:

php - 太多行导致 500 错误?

php - json_decode,尝试访问数组元素

php - 将 nginx 错误重定向到 php

php - 图片不是有效的 JPEG

php - 添加到购物车多种产品变体 woocommerce

PHP:插入一行并选择插入行的ID

mysql - FullCalendar jquery json 事件 MySQL 问题

mysql - 在 MySql 中将 VARCHAR 转换为 DECIMAL 值

php - 两个单独的表,如何检查用户是否是更新其他表的所有者

php - 无法使用 docker compose 将 phpmyadmin 连接到数据库