2017-02-01 178 views
0
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 

這是允許duplicates.But它不應該,需要以相同的順序插入記錄。我怎樣才能實現它?插入記錄,而不允許重複

+3

這裏沒有重複。而SQL表沒有任何內在的順序。你能分享一個你試圖讓這個問題更清楚的結果嗎? – Mureinik

+0

表沒有順序。您在選擇時指定訂單。否則,優化器將返回行而不強加任何順序。這會混淆多核機器中的行,或者僅僅是因爲一個操作員更改了訂單 –

+0

插入它應如下所示: - col1 col2 ----------- ----- --------------------------------------------- 4 test 1 test2但它不應該允許像這樣如下所示: - col1 col2 ----------- ----------------------- --------------------------- 4 test 1 test2 4 test 1 test2 – Senthil

回答

0

正如其他評論者所說,SQL表的順序並不重要,因爲根據您的語句,索引等檢索數據。如果您需要以特定順序返回數據,則只需告訴SQL

select col1 
     ,col2 
from tblTesting 
order by col1 
     ,col2 

如果你不想讓特定的值重複,你可以添加需要的唯一值或一組值的限制,每這裏的文件:就在爲了與order by子句返回它: https://msdn.microsoft.com/en-us/library/ms190024.aspx?f=255&MSPPError=-2147217396