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

[SOLUCIONADO] Dudas sobre el autoincrementado en postgresql

Estas en el tema de Dudas sobre el autoincrementado en postgresql en el foro de PostgreSQL en Foros del Web. Hola, tengo una duda sobre una columna autoincremental en postgresql: Si la columna ya está hecha y cumple los requisitos (ahora mismo tiene un valor ...
  #1 (permalink)  
Antiguo 01/03/2016, 05:52
 
Fecha de Ingreso: septiembre-2010
Mensajes: 494
Antigüedad: 14 años, 2 meses
Puntos: 10
Dudas sobre el autoincrementado en postgresql

Hola, tengo una duda sobre una columna autoincremental en postgresql:

Si la columna ya está hecha y cumple los requisitos (ahora mismo tiene un valor numérico único y correlativo)....cómo puedo convertirla en autoincremental?
__________________
Mi calculadora en Qt
  #2 (permalink)  
Antiguo 01/03/2016, 07:39
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 10 meses
Puntos: 360
Respuesta: Dudas sobre el autoincrementado en postgresql

dehm

Realmente las columnas autoincrementales en postgresql no existen.
CUando creas una tabla con campo serial, ese tipo de dato no existe como tal. Lo que realiza el motor por debajo, es crear una columna de tipo biginteger y posteriormente asociarle una secuencia a dicho campo.

Para solucionar tu problema, debes saber con exactitud en que registro va la tabla.
Código SQL:
Ver original
  1. SELECT MAX(columna) FROM tabla;

Crear la secuencia:
Código SQL:
Ver original
  1. CREATE SEQUENCE seq_ejemplo START WITH numero_anterior;

Y posteriormente, asociar dicha secuencia al campo:
Código SQL:
Ver original
  1. ALTER TABLE tabla ALTER COLUMN campo SET DEFAULT NEXTVAL('seq_ejemplo');
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 02/03/2016, 15:42
 
Fecha de Ingreso: septiembre-2010
Mensajes: 494
Antigüedad: 14 años, 2 meses
Puntos: 10
Respuesta: Dudas sobre el autoincrementado en postgresql

Muchas gracias huesos52. Ya la tengo convertida

Sólo me ha quedado una duda....cuando obtengo el último número de la columna que quiero hacer autoincremental -MAX(columna)- es que para luego la secuencia empiece por el siguiente número, ¿no? Es lo lógico y así lo he probado.

Es que al poner
Código SQL:
Ver original
  1. START WITH numero_anterior
me ha despistado un poco
__________________
Mi calculadora en Qt
  #4 (permalink)  
Antiguo 02/03/2016, 15:44
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 10 meses
Puntos: 360
Respuesta: Dudas sobre el autoincrementado en postgresql

Exacto.
Es tal como dices.

Saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #5 (permalink)  
Antiguo 03/03/2016, 03:27
 
Fecha de Ingreso: septiembre-2010
Mensajes: 494
Antigüedad: 14 años, 2 meses
Puntos: 10
Respuesta: Dudas sobre el autoincrementado en postgresql

Muchas gracias. Tema resuelto!
__________________
Mi calculadora en Qt

Etiquetas: dudas
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 00:52.