【发布时间】:2014-03-29 00:44:12
【问题描述】:
我是创建数据库的新手,目前正在尝试完成一些对我来说真正必要的事情。
假设我有一个包含 300 行的数据库“客户”,所有行都有一个名为 Id_ 的唯一标识符。
Id_ | Customer | Postal | Country |
200 | Mica Sa. | 99582 | USA
201 | Shum Jr. | 10258 | USA
202 | Carl Ro. | 45697 | USA
203 | Brad Mi. | 24761 | USA
如果我使用以下方法删除行号 202:
DELETE FROM Customer
WHERE Id_ = 202;
我明白了:
Id_ | Customer | Postal | Country |
200 | Mica Sa. | 99582 | USA
201 | Shum Jr. | 10258 | USA
203 | Brad Mi. | 24761 | USA
但是当我尝试使用以下方法插入一行时:
INSERT INTO Customer (Id_, Customer, Postal, Country)
VALUES (202, 'Peter R.', 08574, 'USA');
我在数据库中随机插入了一行,所以我的问题是如何在201(Id_) 之后和203(Id_) 之前插入这一行?
【问题讨论】:
-
你有Id作为主键吗?你指的是一行的位置吗?
-
你不能只使用
ORDER BY Id_吗?无论如何,数据很少在数据库中整齐排列...... -
我还是没明白,你的意思是不能插入 202 还是行位置不是升序(或降序)?什么
data type的id_列? -
表格没有订单。保证检索行的顺序的唯一方法是在产生输出的查询上指定
ORDER BY子句。 -
好吧,那我猜是不可能的,所以我的下一个问题是:当我右键单击数据库表并选择编辑所有行时,是否可以让 SQl 以特定顺序显示行?在这种情况下,它将按 Id_ 值组织显示。
标签: sql sql-server-2012 sql-insert corresponding-records delete-record