Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » PostgreSQL »

cambiar de tipo int a serial

Estas en el tema de cambiar de tipo int a serial en el foro de PostgreSQL en Foros del Web. Hola, me pasaron una base de datos en postgres, pero el campo principal es de tipo int, por comodidad me gustaria cambiarlo a serial pero ...
  #1 (permalink)  
Antiguo 01/04/2010, 17:49
 
Fecha de Ingreso: junio-2008
Ubicación: Colombia
Mensajes: 207
Antigüedad: 9 años, 5 meses
Puntos: 12
cambiar de tipo int a serial

Hola, me pasaron una base de datos en postgres, pero el campo principal es de tipo int, por comodidad me gustaria cambiarlo a serial pero no he podido hacerlo y las ayudas de postgres son algo confusas, cualquier ayuda es bienvenida.

e tratado con este comando pero no funciona

Código PHP:

ALTER TABLE cuestionario
ALTER COLUMN id_num_cuest TYPE serial
-- Me saca errorTYPE SERIAL DOES NOT EXIST 
  #2 (permalink)  
Antiguo 01/04/2010, 22:48
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.972
Antigüedad: 8 años, 10 meses
Puntos: 354
Respuesta: cambiar de tipo int a serial

Por que realmente serial no es un tipo de dato.

Cuando se crea un dato serial, realmente se crea un integer y se crea implicitamente una secuencia con valor por defecto para ese campo. Fijate en esto
Código SQL:
Ver original
  1. pruebas=> CREATE TABLE t1(id serial,otro text);
  2. NOTICE:  CREATE TABLE creará una secuencia implícita «t1_id_seq» para la columna serial «t1.id»
  3. CREATE TABLE
  4. pruebas=> \d t1;
  5.                            Tabla ½public.t1╗
  6.  Columna |  Tipo   |                      Modificadores
  7. ---------+---------+----------------------------------------------------------
  8.  id      | INTEGER | NOT NULL valor por omisin NEXTVAL('t1_id_seq'::regclass)
  9.  otro    | text    |

Lo que puedes hacer, es crear una secuencia aparte y hacer un alter table para que el valor por defecto sea la secuencia y simular exactamente lo que hace el "tipo de dato" serial.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming

Etiquetas: int, serial, tipo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:18.