Salta ai contenuti
Manuale LogoManuale Logo

Sequence e auto-increment

Molte tabelle hanno una colonna id che cresce automaticamente. Il database assegna un nuovo identificatore quando inserisci una riga.

Così non devi scegliere gli identificatori a mano, riducendo il rischio di errori o duplicati.

In molti database puoi chiedere al sistema di creare automaticamente l’identificatore:

CREATE TABLE clienti (
id INT GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
nome VARCHAR(100)
);

Quando inserisci un cliente, non scrivi tu l’id:

INSERT INTO clienti (nome)
VALUES ('Luca');

Il database assegna il prossimo numero disponibile.

I nomi cambiano a seconda del database:

  • PostgreSQL: IDENTITY o SERIAL
  • MySQL: AUTO_INCREMENT
  • SQL Server: IDENTITY
  • SQLite: INTEGER PRIMARY KEY

L’auto-incremento è utile quando:

  • hai bisogno di una chiave primaria numerica
  • vuoi evitare collisioni tra identificatori
  • non vuoi preoccuparti di scegliere il prossimo numero

Il numero automatico serve soprattutto come identificatore tecnico. Non è sempre adatto a rappresentare un dato di business, come un numero fattura o un codice pubblico visibile all’utente.

Per quei casi, spesso servono regole diverse.