Altro
Autoincremento PostgreSQL
Sto passando da MySQL a PostgreSQL e mi stavo chiedendo come posso fare valori autoincrementati. Ho visto nella documentazione di PostgreSQL un datatype "serial", ma ottengo errori di sintassi quando lo uso (in v8.0).
553
3
Sì, SERIAL è la funzione equivalente.
SERIAL è solo una macro di creazione di tabelle intorno alle sequenze. Non si può alterare SERIAL su una colonna esistente.
Potete usare qualsiasi altro tipo di dati interi, come
smallint
.Esempio :
Meglio usare il proprio tipo di dati, piuttosto che l'utente tipo di dati seriali.
Nel contesto della domanda posta e in risposta al commento di @sereja1c, la creazione di
SERIAL
crea implicitamente delle sequenze, quindi per l'esempio precedente-CREATE TABLE
creerebbe implicitamente la sequenzafoo_id_seq
per la colonna serialefoo.id
. Quindi,SERIAL
[4 Bytes] è buono per la sua facilità d'uso a meno che non abbiate bisogno di un tipo di dato specifico per il vostro id.