Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

MySQL e campi Autoincrementanti

Problemi di HTML? Di PHP, ASP, .NET, JSP, Perl, SQL, JavaScript, Visual Basic..?
Vuoi realizzare programmi in C, C++, Java, Ruby o Smalltalk, e non sai da che parte cominciare?
Entra qui e troverai le risposte!

Moderatori: Triumph Of Steel, archimede

MySQL e campi Autoincrementanti

Postdi JClark » 29/05/05 19:17

Ciao a tutti

sto realizzando un applicativo che si appoggia ad un DB in MySQL.

Ho una tabella con un campo id autoincrementale sulla quale ho fatto delle prove di insert e delete.

Ora che va tutto come dico, ho il problema che non riesco a trovare il modo di reinizializzare il suddetto campo al valore iniziale di 0.

Qualcuno ha una soluzione ?

Grazie
Saluti Frank
Il brutto tempo non esiste ... il brutto tempo è quello che passo senza andare in moto !

Bye Frank
:-)
JClark
Utente Senior
 
Post: 416
Iscritto il: 24/09/01 01:00
Località: Voghera

Sponsor
 

Postdi JClark » 29/05/05 19:45

Girellando qua è la ho trovato questa istru

TRUNCATE Table `table-name`

questa, praticamente svuota la tabella e reinizializza anche il campo incrementale al valore 0

Soluzione trovata su:
http://www.mmkit.com/viewtopic.php?topic=12886

Bye Frank
Il brutto tempo non esiste ... il brutto tempo è quello che passo senza andare in moto !

Bye Frank
:-)
JClark
Utente Senior
 
Post: 416
Iscritto il: 24/09/01 01:00
Località: Voghera

Postdi disgrazia » 30/05/05 18:17

Anch'io ho lo stesso problema, alcune possibili soluzioni le ho trovate sul sito di MySQL:
http://dev.mysql.com/doc/mysql/en/examp ... ement.html
quello che comunque non mi spiego è perché il contatore da solo non riutilizzi mai i valori relativi a record cancellati, nemmeno quando si fa ripartire mysqld. In teoria dovrebbe farlo automaticamente, per lo meno ad ogni nuova connessione, e sicuramente al riavvio del server.
disgrazia
Download Admin
 
Post: 708
Iscritto il: 08/07/02 22:16

Postdi Triumph Of Steel » 31/05/05 10:07

disgrazia ha scritto:quello che comunque non mi spiego è perché il contatore da solo non riutilizzi mai i valori relativi a record cancellati,


nessun Database lo fa! che io sappia ;)
Avatar utente
Triumph Of Steel
Moderatore
 
Post: 7852
Iscritto il: 22/08/01 01:00

Postdi disgrazia » 31/05/05 20:28

Come no?
http://dev.mysql.com/doc/mysql/en/innod ... olumn.html
In particolare:
The value retrieved by the statement is incremented by one and assigned to the column and the auto-increment counter of the table. If the table is empty, the value 1 is assigned.

Però anche se la table è vuota il contatore perché ho cancellato i record uno ad uno non ricomincia mai da uno... o che si riferiscano solo a tables appena create?
disgrazia
Download Admin
 
Post: 708
Iscritto il: 08/07/02 22:16

Postdi pjfry » 31/05/05 22:58

disgrazia ha scritto:Come no?
http://dev.mysql.com/doc/mysql/en/innod ... olumn.html
In particolare:
The value retrieved by the statement is incremented by one and assigned to the column and the auto-increment counter of the table. If the table is empty, the value 1 is assigned.

Però anche se la table è vuota il contatore perché ho cancellato i record uno ad uno non ricomincia mai da uno... o che si riferiscano solo a tables appena create?

secondo me si
anche perchè, per un semplice discorso di potenza di calcolo... pensa quanto è + facile sapere l'ultimo rispetto a sapere tutti quelli già usati!
Avatar utente
pjfry
Moderatore
 
Post: 8240
Iscritto il: 19/11/02 17:52
Località: terni

Postdi JClark » 01/06/05 07:23

quello che comunque non mi spiego è perché il contatore da solo non riutilizzi mai i valori relativi a record cancellati, nemmeno quando si fa ripartire mysqld. In teoria dovrebbe farlo automaticamente, per lo meno ad ogni nuova connessione, e sicuramente al riavvio del server.


Credo che un possibile motivo sia legato alla questione dell'integrità referenziale e alla consistenza dei dati.

Un DB non può sapere la logica della sequenza con cui un applicazione genera i record, quindi è più logico / semplice andare ad aggiungere un Max+1
Il brutto tempo non esiste ... il brutto tempo è quello che passo senza andare in moto !

Bye Frank
:-)
JClark
Utente Senior
 
Post: 416
Iscritto il: 24/09/01 01:00
Località: Voghera


Torna a Programmazione


Topic correlati a "MySQL e campi Autoincrementanti":


Chi c’è in linea

Visitano il forum: Nessuno e 2 ospiti