【发布时间】:2018-04-18 11:01:35
【问题描述】:
我有一个 SQL Server 表(如上所示),我正在使用此命令在我的网站上的一个表中对其进行排序
SELECT *
FROM [user]
ORDER BY idNum DESC;
这个表(在我的网站上运行)包含我的数据库保存的所有信息(至少对于 [user] 表)
我有按钮可以从信息中删除一行(它获取我要删除的行号),如下图所示:
我想问的是有没有一种方法可以使用行号删除一行?(因为我从按钮单击中得到一个行号我只想删除该行)?
【问题讨论】:
-
不要使用“行号”或类似的东西来删除行 - 使用 主键 唯一可靠识别每一行
-
@marc_s 我打算给出完全相同的建议。使用 rownumber 实际上会导致删除错误的条目,因为您的表数据可能会在查看它和删除您想要的行之间发生变化。
-
你为什么不添加一个真正的行号,并将其用作主键。它会让你的生活更轻松......
-
@ppijnenburg 但是主键也可能会消失。我投票赞成通过主键删除,但这可以在某些假设下进行。
-
如果您尝试删除已经消失的 PK,您会收到错误消息。如果您删除特定的行号,那么行号很可能仍然存在,因为行数超过了您要删除的当前行。
标签: sql asp.net sql-server database