Newsgroup: it.lavoro.professioni.webmaster
Titolo: db mysql con limiti?

Ho un database mysql con un campo 'id' unsigned auto-increment, che
utilizzo, tramite un'interfaccia web, per memorizzare degli annunci di
lavoro.
Il valore id, da quando ha raggiunto i 250 record non effettivi (cioč alcuni
di questi sono stati cancellati), si č bloccato, ed i record successivi,
nonostante non compaia alcun messaggio d'errore del DB, non vengono
memorizzati. Come mai? Esiste un limite ai record di cui io non sono a
conoscenza?
Ovviamente, ho verificato che la tabella non sia danneggiata, sia
ottimizzata e che lo spazio nel server dedicato al DB non sia finito!
Grazie in anticipo a tutti coloro che risponderanno.
--
M a r c o    S a l i s       
marc...@tin.it
www.fidalnet.com
   -   
www.atleticanet.it
www.lavorosardegna.com
 - il lavoro sardo

 memorizzati. Come mai?
[CUT]
Quale tipo di dati (INT, FLOAT, ecc.) hai impostato per il tuo campo 'id'?
Mao
--------------------------------
Inviato via 
http://usenet.libero.it

 conoscenza?
Non č che si č bloccato a 255 per la precisione?
In tal caso probabilmente hai raggiunto una situazione critica non prevista
da chi ti ha realizzato il sistema, per giunta chi ti ha realizzato il
sistema č stato proprio malvagio, perchč se č come penso ha impostato quel
campo con dimensione a 8bit e quindi con valore massimo 255

 Quale tipo di dati (INT, FLOAT, ecc.) hai impostato per il tuo campo 'id'?
TINYINT (lunghezza 4)


 e quindi con valore massimo 255
Si, sul fatto che io sia malvagio non ci sono dubbi  :-)
Ho realizzato io il tutto, scripting e impostazione del DB compresa, ma sono
un totale principiante e ho realizzato il sito praticamente per hobby.
Ho notato che nelle statistiche della tabella, in phpmyadmin, tra le
'statistiche righe' c'è un: "Prossimo Autoindex: 255". Cosa vuol dire?



Ecco il problema. Il tipo di dati che hai scelto per il campo id, con
l'opzione "unsigned", ha un range che va da 0 a 255. Prova a modificare le
impostazioni del campo id da TINYNT a INT o a SMALLINT (se non prevedi di
avere a che fare con numeri più grandi di 65535). Per ulteriori informazioni
ti consiglio di consultare la documentazione MySql
http://www.mysql.com/documentation/mysql/bychapter/manual_Reference.html#Column_types
.


 'statistiche righe' c'è un: "Prossimo Autoindex: 255". Cosa vuol dire?
Lasciando stare le statistiche, per non avere problemi, fai un dump della
tabella con
"struttura e dati"
poi salvi il dump in un file di testo sul tuo pc
a questo punto vai nel file di testi e modifichi dove hai messo TINYINT(4)
metti INT(4)
e sarai apposta fino ai prossimi 4 miliardi di inserimenti
A questo punto vai dove hai fatto il dump c'è un campo per importare file
con istruzioni sql.
Quindi metti un DROP per tutte le tabelle del tuo database in cima nel file
di testo con le istruzioni sql create dal dump e poi lo importi.
puoi anche provare a modificare il campo direttamente, ma a volte quando la
tabella è piena non te lo consente, quindi vedi te.

 a modificare le impostazioni del campo id da TINYNT a INT [...]
Si... sono proprio malvagio... anche perchè non toccavo il phpmyadmin da
qualche mese, e non mi ero mai accorto dell'errore, tanto che tutte le altre
tabelle erano perfettamente funzionanti, avendo il campo id impostato come
INT... ;-)
Grazie mille per l'aiuto!


 quando la tabella è piena non te lo consente, quindi vedi te.
Non c'è stato bisogno di fare il dump, è bastato modificare il campo da
TINYINT a INT è tutto è tornato a posto... dimenticanze da principiante :-)
Grazie mille anche a te per l'aiuto!
