我有下表:
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
约束?
4 回答
是的你可以 . 但是如果您的 table 上有非唯一条目,它将失败 . 以下是如何在表上添加唯一约束 . 如果你正在使用PostgreSQL 9.x,你可以按照以下说明操作 .
是的,您可以在事后添加UNIQUE约束 . 但是,如果您的表中有非唯一条目,Postgres会在您更正之前对其进行投诉 .
psql
的内联帮助:还记录在postgres docs(一个很好的资源,加上易于阅读) .
如果你的表已经有一个基于let的说明:name和lastname,并且你想添加一个唯一约束,你必须通过以下方式删除整个约束:
确保要添加的新约束是唯一的/非空(如果它的Microsoft Sql,它只能包含一个空值)跨该表上的所有数据,然后您可以重新创建它 .