日期:2014-05-16  浏览次数:20642 次

sql server数据库如何删除指定行?通过表中自带的id?

比如说,这个表中我要删除第5条记录,不通过字段名,通过表中自带的5这个id可以吗?
------解决方案--------------------
引用:
Quote: 引用:

按你的想法:不行,但是自增的ID可以通过truncate table、DBCC 命令来重置。不过这个前提需要把原表的数据搬来搬去。频繁操作的想不现实。问题是为什么你只想删第n行,而不是一个有标识性的id呢?比如表有10行,自增id从1~10,那么你删了第五行,原来的数据是不会变的,新增的数据从11开始。


我想通过前台表格中传来的id值来找到数据表中对应的记录,看来不行的呀


看你贴的图,应该是2005以上的版本把,

你可以修改你的语句:

;with t
as
(
select *,row_number()  over(order by getdate()) id
from 表
)
delete from t where id = 5