2014-11-23 2 views
1

Можно ли использовать уникальные по нескольким столбцам?SQL несколько уникальных столбцов

как:

user_vote user_id 
------------------ 
     1   1 
     1   2 
     2   1 

как уникальный

Это должно быть возможно

Но:

user_vote user_id 
    1   2 
    1   2 

Это не должно быть возможно

+0

Просто определить ** ** CONSTRAINT UNIQUE над обеими колоннами .... должно быть возможно в любой базе данных, которые поддерживают SQL, поскольку это язык запросов ... –

+0

да вы можете в любой базе данных –

ответ

2

Вы можете добавить Uniq ue для комбинации столбцов:

ALTER TABLE my_table 
ADD CONSTRAINT my_table_uq UNIQUE (user_vote, user_id) 
1

Вам необходимо определить составное уникальное ограничение.

SQL Server, Один из способов сделать это в SQL Server, добавляя UNIQUE INDEX

ALTER TABLE table_name ADD UNIQUE INDEX (User_Vote, User_Id); 

В Oracle

ALTER TABLE table_name 
ADD CONSTRAINT uc_1 UNIQUE (User_Vote, User_Id) 
3

MySQL/Oracle/MS Access/SQL Server:

CREATE TABLE uservotetable 
(
    user_vote int NOT NULL, 
    user_id int NOT NULL, 
CONSTRAINT uservote UNIQUE (user_vote ,user_id) 
); 

и если вы создали свой стол раньше .., тогда вы можете нас е ALTER

ALTER TABLE uservotetable 
    ADD CONSTRAINT uservote UNIQUE (user_vote ,user_id) 

это может быть полезно для вас sql_unique

Смежные вопросы