Autoincrementos en PostgreSQL usando secuencias
2009-04-06 17:32:49
Algo que se echa enormemente de menos cuando trabajas con un SGBD que no sea mysql es, sin duda, la inexistencia de los campos de auto_incremento.
Algo tan natural como un contador no parece ser parte del standard SQL, así que tenemos que usar un objeto llamado "secuencia", que es algo así como una pseudo-tabla que actua como un contador.
CREATE SEQUENCE mytable_myid_seq;
Una vez creada la secuencia, ya podemos añadir la columna de indexación:
ALTER TABLE mytable ADD myid INT UNIQUE;
Y definirla como dependiente de la secuencia:
ALTER TABLE mytable ALTER COLUMN myid SET DEFAULT NEXTVAL('mytable_myid_seq');
Una vez hecho, ya podeis empezar a introducir datos en la tabla.