相关疑难解决方法(0)

SQL查询:删除表中除最新N之外的所有记录?

是否可以构建一个单独的mysql查询(没有变量)来删除表中的所有记录,除了最新的N(按id desc排序)?

像这样的东西,只有它不起作用:)

delete from table order by id ASC limit ((select count(*) from table ) - N)
Run Code Online (Sandbox Code Playgroud)

谢谢.

mysql sql

81
推荐指数
6
解决办法
10万
查看次数

在MySQL中删除后自动递增

我有一个MySQL表,主键字段打开AUTO_INCREMENT.在阅读了这里的其他帖子之后,我注意到有相同问题并且答案各不相同的人.有人建议不要使用此功能,其他人说它不能"修复".

我有:

table: course
fields: courseID, courseName
Run Code Online (Sandbox Code Playgroud)

示例:表中的记录数:18.如果我删除记录16,17和18 - 我希望输入的下一条记录的课程ID为16,但是它将是19,因为最后输入的课程ID是18.

我的SQL知识并不令人惊讶,但无论如何使用查询(或phpMyAdmin界面中的设置)刷新或更新此计数?

该表将与数据库中的其他表相关.


鉴于所有的建议,我决定忽略这个'问题'.我将简单地删除并添加记录,同时让自动增量完成它的工作.我想这个数字到底是什么并不重要,因为它只被用作唯一标识符,并且没有(如上所述)商业含义.

对于那些我可能与我的原帖混淆的人:我不想用这个字段来知道我有多少记录.我只是希望数据库看起来整洁,并且具有更多的一致性.

mysql sql primary-key auto-increment

64
推荐指数
4
解决办法
14万
查看次数

MySQL:如果单元格中的字符串匹配,则删除表行?

我有一个表,其中有一列meta_key\xe2\x80\xa6\xc2\xa0 我想删除表中与meta_key某个字符串匹配的所有行。

\n\n

在此输入图像描述

\n\n

例如,我想删除其中包含“tel”的所有 3 行 - 只是删除单元格,而是删除整行。我怎样才能用mysql语句做到这一点?

\n

mysql sql delete-row

3
推荐指数
1
解决办法
9458
查看次数

标签 统计

mysql ×3

sql ×3

auto-increment ×1

delete-row ×1

primary-key ×1