Sante Caserio
pubblicato più di 2 anni fa

L'attributo AUTO INCREMENT

Descrizione dell'essenziale e indispensabile attributo AUTOINCREMENT

L’attributo AUTO_INCREMENT può essere applicato solo a campi di tipo intero (TINYINT, SMALLINT, MEDIUMINT, INTEGER, BIGINT) che siano anche chiave primaria. I campi autoncrementali hanno un valore univoco progressivo assegnato automaticamente, che non deve necessariamente essere specificato nella INSERT.

Una colonna AUTO_INCREMENT può anche essere usata in più indici, purché sia anche usata come chiave primaria.

Per creare un campo AUTO_INCREMENT e la chiave primaria corrispondente:

1ALTER TABLE utenti ADD id INT UNSIGNED NOT NULL AUTO_INCREMENT, ADD PRIMARY KEY (id);

Per cancellare il campo e la chiave primaria:

1ALTER TABLE utenti DROP PRIMARY KEY, DROP COLUMN id;

Normalmente, il primo valore generato è 1. Per fare iniziare una sequenza con un altro numero, bisogna utilizzare la seguente opzione:

1CREATE TABLE utenti (
2    id INT UNSIGNED NOT NULL AUTO_INCREMENT,
3    PRIMARY KEY (id)
4) AUTO_INCREMENT = 1000;

Esiste una funzione che restituisce l’ultimo valore inserito. Essa tiene conto della concorrenza, cioè non restituisce valori inseriti da altri utenti connessi.

1SELECT LAST_INSERT_ID();

Alcune applicazioni ODBC utilizzano query di questo tipo per recuperare l’ultimo valore AUTO_INCREMENT di una certa tabella:

1SELECT * FROM tab WHERE id IS NULL;

In MySQL questo funziona solo se la variabile sql_auto_is_null vale 1, che è il valore di default.

MyISAM e Maria

Nelle tabelle MyISAM e Maria è possibile creare una chiave primaria che sia costituita dalla colonna AUTO_INCREMENT e da altre colonne:

1CREATE TABLE utenti (
2    id INT UNSIGNED NOT NULL AUTO_INCREMENT,
3    nome CHAR(50),
4    PRIMARY KEY (nome, id)
5) AUTO_INCREMENT = 1000;

Condividi su:

Esprimi un voto:

  • Current rating: 0.0/5
  • 1
  • 2
  • 3
  • 4
  • 5

Argomenti chiave:

Ultimi commenti Ultimi commenti

Esegui il Login oppure registrati per scrivere un commento.
Cerca nel sito...
Ultime recipes

Un utilissimo tool di shell che effettua un dettagliato e comodo report su MySQL MySQL Report un tool di shell per tenere tutto sotto controllo

Un utilissimo tool di shell che effettua un dettagliato e comodo report su MySQL


Vai alla recipe

Un utilissimo tool per sniffare il traffico Client/Server TCP/IP di MySQL MySQLSniffer sniffare il traffico TCP di MySQL

Un utilissimo tool per sniffare il traffico Client/Server TCP/IP di MySQL


Vai alla recipe

Verificare l'integrità, riparare gestire chiavi e memoria di tabelle MyISAM attraverso myisamchk riparare file MyISAM

Verificare l'integrità, riparare gestire chiavi e memoria di tabelle MyISAM attraverso il file myisamchk


Vai alla recipe

Un tool per comprimere le tabelle MyISAM fino a oltre il 50% myisampack comprimere file MyISAM

Un tool per comprimere le tabelle MyISAM fino a oltre il 50%


Vai alla recipe

mysqlshow le info di base sui database, tabelle e colonne senza utilizzare alcun mysqlshow visualizzare le informazioni sul database MySQL

mysqlshow le info di base sui database, tabelle e colonne senza utilizzare alcun client


Vai alla recipe

Utilizzando UNION / UNION ALL su campi int unsigned zerofill,
ho notato che MysqlUNION / UNION ALL su campi int unsigned zerofill. di DebUsr
Vai al tip

Utilizzo di funzioni come alias di campo tramite l'impiego di prepared statementReport con alias di campo dinamici di john_revelator
Vai al tip

Può capitare che sia necessario eseguire un dump di database in formato Comma SeparatedEsecuzione dump in formato CSV (tabelle in engine MyIsam esportate in formato CSV) di ghigomatto
Vai al tip

E' possibile eseguire le query SQL contenute in un file di testo. Questo è utileEseguire le query da un file di testo di Sante Caserio
Vai al tip

Se vogliamo fare il backup di tutti i database con mysqldump, e ne abbiamo parecchiFare il backup di tutti i database di Sante Caserio
Vai al tip

Salve, dopo tante storie ho studiato il php e mysql .. . che in questo forum parlavo php e campo mysql timestamp di gigi Vai al topic

ciao a tutti ho creato un forum su aruba ma non so come farlo visualizzare nel mio aruba di albertodiprima Vai al topic

Salve a tutti gente, questo è il mio primo post su questo forum e questo a causa Problema Gravissimo con AutoIncrement di stefanoadsl Vai al topic

Salve! Mi presento, mi chiamo Adriano e sono uno studente di ingegneria informatica Problema Trigger di Xanakro Vai al topic

Ciao a tutti!
Volevo chiedere una informazione.
Ho una query che lanciata la prima Query Eseguita più volte di OltreLeStelle Vai al topic