将多条记录插入 SQL 表时,它不遵循顺序
Posted
技术标签:
【中文标题】将多条记录插入 SQL 表时,它不遵循顺序【英文标题】:When inserting multiple record into a SQL table it does not follow the order 【发布时间】:2020-12-13 02:05:39 【问题描述】:如下图使用单个insert语句将多条记录添加到表中时,选择时不遵循相同的顺序。我知道它不会影响任何事情,但我可以知道为什么会这样吗?
CREATE TABLE [category]
(
[category_id] int IDENTITY(1,1) PRIMARY KEY,
[category_name] varchar(255) NOT NULL UNIQUE
);
INSERT INTO [category] (category_name)
VALUES ('Laptops and Accessories'),
('AI Development Kit'),
('Cameras and Lens');
SELECT * FROM [category]
输出:
我正在使用 SQL Server。
【问题讨论】:
“我正在使用 MS SQL,但无法添加标签”——因为它实际上被称为“SQL Server”。但是在键入“mssql”时,SQL Server 标记会出现在选择中。 【参考方案1】:您的 select 语句明确表示:“我不关心订单!” - 它通过省略 ORDER BY
子句来做到这一点。
如果你说SELECT * FROM [category] ORDER BY [category_id]
,你会得到一个有序的结果集
1, 'Laptops and Accessories'
2, 'AI Development Kit'
3, 'Cameras and Lens'
这正是您在INSERT
声明中给出的顺序。
在没有ORDER BY
子句的 SQL 中,SELECT
s 不仅不希望有某种顺序,而且在多次调用时也不希望它们具有相同的顺序。
【讨论】:
以上是关于将多条记录插入 SQL 表时,它不遵循顺序的主要内容,如果未能解决你的问题,请参考以下文章