Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 按相同顺序插入记录,不允许重复_Sql Server - Fatal编程技术网

Sql server 按相同顺序插入记录,不允许重复

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

这里它允许重复。但是它不应该并且需要以相同的顺序插入记录。如何实现它?

正如其他评论者所说,SQL表的顺序并不重要,因为数据是根据您的语句、索引等进行检索的。如果您需要按特定顺序返回数据,只需告诉SQL按该顺序返回,并使用
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