當創建PostgreSQL中的表,如果沒有提供默認的約束名稱將分配:PostgreSQL的:默認的約束名
CREATE TABLE example (
a integer,
b integer,
UNIQUE (a, b)
);
但使用ALTER TABLE
添加這似乎是一個名稱是強制性的約束:
ALTER TABLE example ADD CONSTRAINT my_explicit_constraint_name UNIQUE (a, b);
這導致了我工作過的項目中一些命名不一致,並提示以下問題:
有沒有一種簡單的方法來添加一個約束到一個現存的表,如果在表創建期間添加它將會收到它的名字?
如果不是,應該完全避免默認名稱以防止出現不一致嗎?
我已成爲一個慣例,以避免違約的名字因爲這個原因 - 你結束了在那裏的每一個部署的限制有不同的名稱的情況 – 2010-11-05 16:39:48