前端之家收集整理的这篇文章主要介绍了
PostgreSQL:默认约束名称,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在Postgre
sql中创建表时,如果未提供,将分配默认约束名:
CREATE TABLE example (
a integer,b integer,UNIQUE (a,b)
);
但是使用ALTER TABLE添加约束,似乎一个名称是强制的:
ALTER TABLE example ADD CONSTRAINT my_explicit_constraint_name UNIQUE (a,b);
这导致了我处理的项目的一些命名不一致,并提示以下问题:
>是否有一个简单的方法来添加一个约束到一个现有的表,如果在表创建过程中添加它会收到的名称?
>如果没有,应该避免使用默认名称以防止不一致?
manual对此很清楚(“tableconstraint:这种形式使用与CREATE TABLE相同的语法向表
添加了一个新约束”。)
所以你可以简单地运行:
ALTER TABLE example ADD UNIQUE (a,b);