PostgreSQL - ENUM + AUTOINCREMET en Postgres

   
Vista:

ENUM + AUTOINCREMET en Postgres

Publicado por Oscar (1 intervención) el 26/02/2008 22:07:02
Hola:

Estoy mudando una base de datos de MySQL a Postgrest tengo una tabla que cuenta con un auto incremen pero este depende de otra columna que es de tipo ENUM y la columna auto imcrement se aunmenta segun el valor de la variable ENUM aqui pongo un ejemplo en MySQL.

CREATE TABLE animals (
grp ENUM('fish','mammal','bird') NOT NULL,
id MEDIUMINT NOT NULL AUTO_INCREMENT,
name CHAR(30) NOT NULL,
PRIMARY KEY (grp,id)
);
INSERT INTO animals (grp,name) VALUES('mammal','dog'),('mammal','cat'),
('bird','penguin'),('fish','lax'),('mammal','whale'),
('bird','ostrich');
SELECT * FROM animals ORDER BY grp,id;

Lo cual devuelve:

+-------------+----+---------+
| grp | id | name |
+-------------+----+---------+
| fish | 1 | lax |
| mammal | 1 | dog |
| mammal | 2 | cat |
| mammal | 3 | whale |
| bird | 1 | penguin |
| bird | 2 | ostrich |
+--------+----+---------+
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:ENUM + AUTOINCREMET en Postgres

Publicado por Wilson R.Mendez (6 intervenciones) el 19/03/2008 13:32:17
Debes aplicar un nextval al campo que quieres autoincrementar ejemplo:

nextval('Id'::text)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar