Sql server 按相同顺序插入记录,不允许重复
这里它允许重复。但是它不应该并且需要以相同的顺序插入记录。如何实现它?正如其他评论者所说,SQL表的顺序并不重要,因为数据是根据您的语句、索引等进行检索的。如果您需要按特定顺序返回数据,只需告诉SQL按该顺序返回,并使用Sql server 按相同顺序插入记录,不允许重复,sql-server,Sql Server,这里它允许重复。但是它不应该并且需要以相同的顺序插入记录。如何实现它?正如其他评论者所说,SQL表的顺序并不重要,因为数据是根据您的语句、索引等进行检索的。如果您需要按特定顺序返回数据,只需告诉SQL按该顺序返回,并使用order by子句: CREATE TABLE tblTesting ( col1 INT NOT NULL , col2 VARCHAR(50) ); INSERT tblTesting VALUES ( 4, 'test' ), ( 1, 't
order by
子句:
CREATE TABLE tblTesting
(
col1 INT NOT NULL ,
col2 VARCHAR(50)
);
INSERT tblTesting
VALUES ( 4, 'test' ),
( 1, 'test2' ),
( 4, 'test' ),
( 1, 'test2' );
col1 col2
----------- -----------
4 test
1 test2
4 test
1 test2
如果不想允许对某些值进行重复,可以根据此处的文档添加需要唯一值或一组值的约束:此处没有重复项。SQL表没有任何内在顺序。你能举一个例子来说明你试图得到的结果,让这个问题更清楚一点吗?表格没有顺序。您可以在选择时指定顺序。否则优化器将返回行而不强制执行任何顺序。这将混淆多核机器中的行,或者仅仅是因为一个操作员在插入时更改了顺序,应该如下所示:-col1 col2-----------------------------------------------------------------------------------------------4 test 1 test2,但它不允许如下所示:-col1 col2------------------------------------------------------------4测试1测试2测试1测试2请使用将附加信息直接放入问题中(更好的格式化功能!)。再说一次:没有隐式的顺序,您可以添加或来防止表保存重复的记录。
select col1
,col2
from tblTesting
order by col1
,col2