[Pgsql-ayuda] Como puedo quitar esta propiedad "unique not null" a un campo de mi tabla ?
Alvaro Herrera
alvherre@dcc.uchile.cl
Tue, 1 Apr 2003 15:15:23 -0400
On Mon, Mar 31, 2003 at 09:24:16PM -0400, Alvaro Herrera Munoz wrote:
> On Mon, Mar 31, 2003 at 12:32:52PM -0600, Luis Mix wrote:
>
> Para sacar el NOT NULL tienes que cambiar el atributo attnotnull de la
> tabla pg_attribute.
begin;
update pg_attribute set attnotnull=false where relid=(select oid from pg_class where
relname like 'tu-tabla') and relname like 'tu-columna';
(revisas que todo esta bien)
commit;
Ojo, que si no todo esta bien debes hacer rollback de inmediato...
> Para sacar el UNIQUE tienes que cambiar el indisunique de la tabla
> pg_index. (o bien botar el indice)
begin;
update pg_index set indisunique=false where indrelid=a.oid and
indexrelid=b.oid and a.relname='tu-tabla' and b.relname='tu-indice' from
pg_class a, pg_class b;
(idem arriba)
Todo esto lo escribo de memoria sin probar, asi que verifica que es
correcto antes de hacer commit.
--
Alvaro Herrera (<alvherre[a]dcc.uchile.cl>)
"Vivir y dejar de vivir son soluciones imaginarias.
La existencia está en otra parte" (Andre Breton)