[Pgsql-ayuda] columna NOT NULL
   
    Eladio Rodriguez
     
    elarod01@hotmail.com
       
    Wed, 30 Apr 2003 21:35:38 -0600
    
    
  
<html><div style='background-color:'><DIV>saludos. </DIV>
<P>excelente, de maravilla,eso era lo que me hacia falta, el SET en al ALTER.</P>
<P>pura vida, mae, como decimos aca en costa rica.</P>
<P>seguiremos en la lucha.</P>
<P>>From: Gunnar Wolf <GWOLF@GWOLF.CX></P>
<DIV></DIV>>To: Eladio Rodriguez <ELAROD01@HOTMAIL.COM>
<DIV></DIV>>CC: Pgsql-ayuda@tlali.iztacala.unam.mx 
<DIV></DIV>>Subject: Re: [Pgsql-ayuda] columna NOT NULL 
<DIV></DIV>>Date: Wed, 30 Apr 2003 18:39:31 -0500 
<DIV></DIV>> 
<DIV></DIV>> > saludos. 
<DIV></DIV>> > erodriguez-#alter table t 
<DIV></DIV>> > erodriguez-#add contraint c_pk primary key (c); 
<DIV></DIV>> > ALTER 
<DIV></DIV>> > erodriguez-# add constraint c_pk primary key (c); 
<DIV></DIV>> > ERROR: Existing attribute "c" cannot be a PRIMARY KEY because it is not marked 
<DIV></DIV>> > NOT NULL 
<DIV></DIV>> > 
<DIV></DIV>> > y efectivamente la columna no esta marcada como NOT NULL, lo que tiene es un 
<DIV></DIV>> > constraint 
<DIV></DIV>> > 
<DIV></DIV>> > erodriguez-# \d t 
<DIV></DIV>> > Table "t" 
<DIV></DIV>> > Column | Type | Modifiers 
<DIV></DIV>> > --------+----------------------+----------- 
<DIV></DIV>> > c | character varying(1) | 
<DIV></DIV>> > Check constraints: "c_not_null" NULL::bool 
<DIV></DIV>> 
<DIV></DIV>>Oka... La pones fácil así :-) Te faltaba indicarle que no permitiera 
<DIV></DIV>>nulos. Vamos a ver, hice lo siguiente: 
<DIV></DIV>> 
<DIV></DIV>>gwolf=# CREATE TEMP TABLE asdf (id integer, descr text); 
<DIV></DIV>>CREATE TABLE 
<DIV></DIV>>gwolf=# \d asdf 
<DIV></DIV>> Table "pg_temp_1.asdf" 
<DIV></DIV>> Column | Type | Modifiers 
<DIV></DIV>>--------+---------+----------- 
<DIV></DIV>> id | integer | 
<DIV></DIV>> descr | text | 
<DIV></DIV>>gwolf=# ALTER TABLE asdf ALTER COLUMN id SET NOT NULL; 
<DIV></DIV>>ALTER TABLE 
<DIV></DIV>>gwolf=# ALTER TABLE asdf ADD CONSTRAINT c_pk PRIMARY KEY (id); 
<DIV></DIV>>NOTICE: ALTER TABLE / ADD PRIMARY KEY will create implicit index 'c_pk' for table 'asdf' 
<DIV></DIV>>ALTER TABLE 
<DIV></DIV>>gwolf=# \d asdf 
<DIV></DIV>> Table "pg_temp_1.asdf" 
<DIV></DIV>> Column | Type | Modifiers 
<DIV></DIV>>--------+---------+----------- 
<DIV></DIV>> id | integer | not null 
<DIV></DIV>> descr | text | 
<DIV></DIV>>Indexes: c_pk primary key btree (id) 
<DIV></DIV>> 
<DIV></DIV>>y ya quedó :-) 
<DIV></DIV>> 
<DIV></DIV>> > el comando SET LINESIZE 5000, lo que hace es que cuando el SELECT necesita 
<DIV></DIV>> > presentar los datos mas alla del borde derecho se le puede dar scroll y no te 
<DIV></DIV>> > salen las cosas como: 
<DIV></DIV>> > (...) 
<DIV></DIV>> 
<DIV></DIV>>Bueno, eso se lo dejo ya a alguien más ;-) Sin embargo, sí puedo 
<DIV></DIV>>comentar algo: Esto no es algo que cambiarás sobre Postgres, sino que 
<DIV></DIV>>sobre el cliente que estás usando (psql). Puedes asomarte a su fuente en 
<DIV></DIV>>el peor de los casos, está bastante claro. 
<DIV></DIV>> 
<DIV></DIV>>Saludos, 
<DIV></DIV>> 
<DIV></DIV>>-- 
<DIV></DIV>>Gunnar Wolf - gwolf@gwolf.cx - (+52-55)5630-9700 ext. 1366 
<DIV></DIV>>PGP key 1024D/8BB527AF 2001-10-23 
<DIV></DIV>>Fingerprint: 0C79 D2D1 2C4E 9CE4 5973 F800 D80E F35A 8BB5 27AF 
<DIV></DIV></div><br clear=all><hr>Add photos to your e-mail with <a href="http://g.msn.com/8HMQEN/2746">MSN 8.</a> Get 2 months FREE*.</html>