Errore: Data too long for column at row 1 - fix

Ho creato un database mysql, con una tabella prodotti che ha un campo di nome 'Description' di tipo VARCHAR(). Sembrava funzionare tutto regolarmente quando ad un certo punto ricevo il seguente messaggio di errore durante una insert su questa tabella, eccolo:

Data too long for column 'description' at row 1

Cosa significa di preciso? E perchè su altre INSERT non me l'ha dato e tutto ad un tratto si?

In Corso 4
MySql 19-03-2020 1 Risposta 6690 Visite +2

Risposte ( 1 approvate )

  1. Michele Ladonia
    +1
    09-09-2019 12:49:26
    Rispondi

    Il tipo VARCHAR() in mysql così come anche negli altri RDBMS ha i suoi limiti, ossia un campo (colonna) dichiarato come tale non può contenere una mole di dati più grande di quella dettato dal suo limite ovvero dalla lunghezza specificata per esso.

     

    Se tu dichiari un campo come VARCHAR(10), 10 sta ad indicare il numero di caratteri massimo che quella colonna può contenere.

    Quindi l'errore dato dal messaggio: Data too long for column 'description' at row 1

    non significa altro che per una certa insert è stato superato il limite massimo di dati (data) accettabili per quella colonna, ecco perché alcune volte ti dà l'errore altre volte no.

     

    Quello che puoi fare è aumentare la dimensione dei caratteri accettati dal VARCHAR nella dichiarazione della colonna 'description' oppure valutare se è meglio cambiare il tipo dichiarandola come TEXT.

Rispondi

Per poter rispondere a questa domanda, devi essere registrato e loggato sul sito, dopodichè compila il box sottostante cercando di essere il più chiaro ed esauriente possibile, la tua risposta potrebbe essere la soluzione che l'utente cerca ed essere contrassegnata come migliore, consentendoti così di ottenere punti ed autorevolezza.

Paolo Cereschini

Paolo Cereschini

Autore di questa domanda

 Domanda Precedente

 Elenco Domande 

Domanda Successiva