Re: error de novato en postgres.

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: Pablo Braulio <brulics(at)gmail(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: error de novato en postgres.
Date: 2005-08-15 16:31:03
Message-ID: 20050815163103.GC22386@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

On Mon, Aug 15, 2005 at 05:58:10PM +0200, Pablo Braulio wrote:
> El Lunes, 15 de Agosto de 2005 16:20, Martín Marqués escribió:
> > CREATE TABLE soportes (
> >         ID SERIAL NOT NULL UNIQUE,
> >         tipo char(10) PRIMARY KEY,
> >         comentario char(70)
> >         );
>
> Vale, pero me sigue diciendo esto.
>
> ERROR: syntax error at or near " " at character 29

Aca funciona; lo que te esta fastidiando son los espacios extraños al
principio de la linea que hacen la indentacion.

Una cosa que no entiendo es para que tienes el campo ID si tienes una
llave primaria en el campo "tipo". Yo dejaria esta definicion asi:

create table soportes (
tipo varchar(10) primary key,
comentario varchar(70)
);

Observa que uso varchar(N) y no char(N). Esto es porque el tipo char(N)
almacena los espacios en blanco que faltan para rellenar los N
caracteres, en caso de que la cadena que guardes sea mas corta que N.
Esto es indeseable, puesto que aumenta el I/O necesario, sin darte
ningun beneficio. Ademas, en cuanto tengas una llave foranea apuntando
a esa tabla, en la tabla referente vas a estar obligado a almacenar
nuevamente los espacios en blanco.

--
Alvaro Herrera (<alvherre[a]alvh.no-ip.org>)
"Nunca confiaré en un traidor. Ni siquiera si el traidor lo he creado yo"
(Barón Vladimir Harkonnen)

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Victor Berga 2005-08-15 16:31:14 Compatibilidad MySQL/PostgreSQL
Previous Message Alvaro Herrera 2005-08-15 16:16:53 Re: Necesito un libro.