我有以下表格:
tickername | tickerbbname | tickertype
------------+---------------+------------
USDZAR | USDZAR Curncy | C
EURCZK | EURCZK Curncy | C
EURPLN | EURPLN Curncy | C
USDBRL | USDBRL Curncy | C
USDTRY | USDTRY Curncy | C
EURHUF | EURHUF Curncy | C
USDRUB | USDRUB Curncy | C
我不希望任何给定的tickername/tickerbbname对有多于一列。我已经创建了表,其中有很多数据(我已经确保满足唯一的标准)。然而,随着它变得越来越大,出错的空间也越来越大。
有没有办法在这一点上添加一个UNIQUE约束?
如果你有一个表,已经有一个现有的约束,让我们说:name和lastname,你想添加一个唯一的约束,你必须放弃整个约束:
ALTER TABLE your_table DROP CONSTRAINT constraint_name;
确保您想要添加的新约束在该表上的所有数据中是唯一的/非空的(如果是Microsoft Sql,它只能包含一个空值),然后您可以重新创建它。
ALTER TABLE table_name
ADD CONSTRAINT constraint_name UNIQUE (column1, column2, ... column_n);
如果你有一个表,已经有一个现有的约束,让我们说:name和lastname,你想添加一个唯一的约束,你必须放弃整个约束:
ALTER TABLE your_table DROP CONSTRAINT constraint_name;
确保您想要添加的新约束在该表上的所有数据中是唯一的/非空的(如果是Microsoft Sql,它只能包含一个空值),然后您可以重新创建它。
ALTER TABLE table_name
ADD CONSTRAINT constraint_name UNIQUE (column1, column2, ... column_n);