Porqué uso ahora PostgreSQL y no antes ? pues simplemente porque NO consigo arrancar el maldito MySQL. Porqué no lo soluciono ? No hay tiempo para ello, solo para seguir aprendiendo.
He tenido un par de problemas cuando he insertado una tabla en PostgreSQL que tenía antes funcionando en MySQL, y me ha cascado. El problema se ha debido a un campo auto_increment. Este campo en MySQL es una columna numérica, que de forma automática genera un valor que crece para cada uno de los registros que se insertan. En PostgreSQL no existen, pero podemos simularlos mediante secuencias:
Hagámoslo:
CREATE SEQUENCE sequence_aut_id;
ALTER SEQUENCE sequence_aut_id RESTART WITH 1;
CREATE TABLE autonomos (
aut_id INT PRIMARY KEY DEFAULT NEXTVAL (’sequence_aut_id’),
autnombre VARCHAR (50)
);
Cuando estuve haciendo pruebas, me encontré con un problema y es que los campos id, los tengo iniciados en 1, pero tengo algunos registros de prueba con identificadores desde el 1 al 10.
CREATE RULE insert_people_rule AS ON INSERT TO autonomos DO ALSO
SELECT SETVAL (’sequence_aut_id’, (SELECT MAX(aut_id) FROM autonomos));
He usado un poco de código de diversas fuentes (blogs, listas…), porque le he dado unas cuantas vueltas a este problema, pero al final todo funciona perfectamente.








Sin comentarios
Post al azar
Deje sus comentario: