Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    33

    Auto - increment si resetta da solo...

    Ciao, sto utilizzando un server in locale ( XAMPP 1.8.3 ) per costruire un sito in PHP. Il DB ha sole 3 tabelle e ciascuna ha un campo auto increment che è anche primary key.
    Il problema è che i campi in questione è già due volte che mi vengono resettati ripartendo da 1.
    Questo succede dopo che ho fatto pulizia di tutti i record delle varie tabelle.

    Dopo il primo fattaccio o ripopolato le tabelle con uno script automatico arrivando a 1200. Poi ho usato il DB normalmente, modificando e cancellando i valori, fino a che non è risuccesso.

    La prima volta è successo intorno al valore 700, ora verso il 1600.

    Non so se sia un bug del DB o dell'editor che utilizzo ( che si interfaccia col DB e che utilizzo anche per modificare, cancellare e resettare in una botta sola i valori dei vari campi ), ma vorrei sapere se sono io che devo sapere qualcosa che non so ( tipo impostazioni particolari a me sconosciute, o script che ho costruito e che vanno ad influenzare ) o se la cosa è effettivamente anormale.

    Preciso che in nessuna parte del codice è mai utilizzato il comando TRUNCATE, ci sono solo SELECT, INSERT, UPDATE e DELETE.

    Grazie.
    Ultima modifica di Oslino; 09-04-2014 a 13:08

  2. #2
    di quale dbms parliamo?
    Non si può risolvere un problema usando lo stesso modo di pensare che ha creato quel problema.
    Albert Einstein

    Siate Affamati, siate Folli, siate Onesti e siate Generosi

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    33
    Quote Originariamente inviata da bomberdini Visualizza il messaggio
    di quale dbms parliamo?
    Il server è XAMPP, quindi utilizza MySql.

  4. #4
    bisognerebbe vedere la struttura della tabella prima di fare congetture.

    show create table nome_tabella

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    33
    Quote Originariamente inviata da piero.mac Visualizza il messaggio
    bisognerebbe vedere la struttura della tabella prima di fare congetture.

    show create table nome_tabella
    La tabella è questa:
    codice:
    CREATE TABLE `testo` (
      `id_testoT` int(8) NOT NULL AUTO_INCREMENT,
      `titoloT` varchar(100) DEFAULT NULL,
      `testoT` varchar(2000) DEFAULT NULL,
      `dataCreazioneT` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
      `linkVideoT` varchar(50) DEFAULT NULL,
      `id_utenteT` int(8) NOT NULL DEFAULT '0',
      `accettatoT` varchar(32) NOT NULL DEFAULT '',
      `donazioneT` int(6) DEFAULT NULL,
      PRIMARY KEY (`id_testoT`)
    ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT

  6. #6
    La tabella e' corretta pero' metterei id_testo UNSIGNED perche' la numerazione deve sempre avanzare e non andare in negativo.

    l'auto increment avanza sempre anche se elimini dei record e quindi il fatto che si azzeri (cosa si azzera? l'id o la tabella?) deve essere impartito un comando esplicito. Che intendi dire con il "resettare in una botta sola"?

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    33
    Quote Originariamente inviata da piero.mac Visualizza il messaggio
    La tabella e' corretta pero' metterei id_testo UNSIGNED perche' la numerazione deve sempre avanzare e non andare in negativo.

    l'auto increment avanza sempre anche se elimini dei record e quindi il fatto che si azzeri (cosa si azzera? l'id o la tabella?) deve essere impartito un comando esplicito. Che intendi dire con il "resettare in una botta sola"?
    Intanto grazie per l'interessamento, aggiungerò UNSIGNED.
    La parte che si azzera è l' id_testoT che, a volte, invece di incrementarsi ad oltranza, riparte da 1 (infatti come vedi il valore riportato è 6 perchè proprio ieri è ripartito da 1).

    Cerco di spiegarti il "resettare in una botta sola"... hai presente Excel con colonne e celle? Ecco, il mio editor (che adoro!!!) mi mostra le tabelle nello stesso aspetto con i relativi valori all'interno delle celle.
    Hai presente poi quando in Excel selezioni una intera griglia di più colonne e righe per poi premere "canc", cancellando "in una botta sola" tutto il testo contenuto nell'intera griglia? Ecco, questo è quello che intendo e che posso fare col mio editor (e che faccio spesso in fase di sviluppo del codice). Il problema è che 2 volte delle tante la tabella è ripartita con la numerazione da 1. In fase di sviluppo non è un problema ma se dovesse succedere quando il DB è in produzione sarebbe un guaio. Per questo vorrei accertarmi che non sia un problema di codice ma, forse, un problema di editor.

  8. #8
    Quote Originariamente inviata da Oslino Visualizza il messaggio
    Intanto grazie per l'interessamento, aggiungerò UNSIGNED.
    La parte che si azzera è l' id_testoT che, a volte, invece di incrementarsi ad oltranza, riparte da 1 (infatti come vedi il valore riportato è 6 perchè proprio ieri è ripartito da 1).

    Cerco di spiegarti il "resettare in una botta sola"... hai presente Excel con colonne e celle? Ecco, il mio editor (che adoro!!!) mi mostra le tabelle nello stesso aspetto con i relativi valori all'interno delle celle.
    Hai presente poi quando in Excel selezioni una intera griglia di più colonne e righe per poi premere "canc", cancellando "in una botta sola" tutto il testo contenuto nell'intera griglia? Ecco, questo è quello che intendo e che posso fare col mio editor (e che faccio spesso in fase di sviluppo del codice). Il problema è che 2 volte delle tante la tabella è ripartita con la numerazione da 1. In fase di sviluppo non è un problema ma se dovesse succedere quando il DB è in produzione sarebbe un guaio. Per questo vorrei accertarmi che non sia un problema di codice ma, forse, un problema di editor.
    Probabilmente l'editor alla cancellazione di tutti i record fa un truncate
    e poi eventualmente ricrea... Dandoti dunque il problema che riscontri.
    Non si può risolvere un problema usando lo stesso modo di pensare che ha creato quel problema.
    Albert Einstein

    Siate Affamati, siate Folli, siate Onesti e siate Generosi

  9. #9
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    33
    Quote Originariamente inviata da bomberdini Visualizza il messaggio
    Probabilmente l'editor alla cancellazione di tutti i record fa un truncate
    e poi eventualmente ricrea... Dandoti dunque il problema che riscontri.
    Ok, perfetto. Almento mi sono tolto il dubbio che non fosse un errore nel mio codice o impostazioni del DB/server.

    Grazie mille.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.