|
|
|
|
Strumenti |
26-08-2014, 17:38 | #1 |
Member
Iscritto dal: Jul 2011
Messaggi: 152
|
Incrementare id postgresql
Ciao, cavolo non riesco a capire perchè non mi fa l'autoincrement dell'id
CREATE TABLE log ( id bigserial NOT NULL primary key, name character varying(255) NOT NULL, ) Poi faccio CREATE SEQUENCE log_id_seq INCREMENT 1 MINVALUE 1 MAXVALUE 9223372036854775807 START 1237 CACHE 1; e in seguito alter sequence log_id_seq owned by log.id; |
26-08-2014, 17:42 | #2 |
Member
Iscritto dal: Jul 2011
Messaggi: 152
|
Se io dopo faccio
insert into logjobs values (1,'ciao') e poi faccio insert into logjobs values (1,'ciao') non mi va fare l'incremento e mi dice che esiste già una chiave con valore 1 |
29-08-2014, 10:54 | #3 |
Member
Iscritto dal: Mar 2009
Città: Torino
Messaggi: 203
|
Ciao, ometti l'id nella dichiarazione, lo inserirà automaticamente lui:
insert into log jobs (name) values ('ciao'); Occhio che la sequence la crea automaticamente lui quando dichiari un campo SERIAL. Non c'è bisogno della CREATE SEQUENCE Se invece hai bisogno di più controllo (tipo quando lavori con delle transazioni) puoi usare le funzioni CURRVAL e NEXTVAL per gestire la sequence SELECT CURRVAL('log_id_seq') SELECT NEXTVAL('log_id_seq') |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 07:25.