In breve: MySQL error 1118 Row size too large — indica che la definizione o l’aggiornamento di una tabella richiede una riga più grande del limite consentito dal formato e dalla configurazione InnoDB.
Indice dei contenuti
MySQL error 1118 Row size too large: significato
Le prime ipotesi da verificare per “MySQL error 1118 Row size too large” sono troppe colonne VARCHAR o CHAR; formato di riga InnoDB non adatto.

Sintomi e cause probabili
Sintomi da verificare
- Il messaggio “MySQL error 1118 Row size too large” compare durante un’operazione ripetibile.
- La funzione coinvolta in MySQL e MariaDB non raggiunge il risultato previsto.
- Il log dell’area MySQL e MariaDB registra un evento nello stesso minuto della prova.
- Il comportamento osservato in MySQL e MariaDB cambia in base a utente, rete, file o configurazione.
Cause probabili
- Troppe colonne VARCHAR o CHAR
- Formato di riga InnoDB non adatto
- Conversione a utf8mb4
- Tabella progettata con troppi campi
Diagnosi passo per passo
- Leggere la definizione completa della tabella
- Controllare ENGINE e ROW_FORMAT
- Stimare le colonne memorizzate inline
- Verificare charset e collation
- Provare la modifica su una copia del database
Log e dati da controllare
- log MySQL o MariaDB
- phpMyAdmin o client SQL
- error_log dell’applicazione chiamante
Correzioni sicure
- Usare un ROW_FORMAT compatibile quando supportato
- Convertire campi estesi in TEXT quando appropriato
- Ridurre o normalizzare le colonne non necessarie
- Allineare charset e struttura prima della migrazione
- Eseguire backup e test prima dell’ALTER TABLE

Verifica finale
- La query termina con il risultato previsto
- Schema e vincoli restano coerenti
- Non compaiono nuovi warning o lock
- L’applicazione legge e scrive i dati correttamente
Errori da evitare
- Non disattivare globalmente WAF, ModSecurity, antispam o verifica TLS per aggirare il sintomo
- Non impostare permessi 777 e non cambiare proprietari in modo ricorsivo senza conoscere la struttura dell’account
- Non cancellare database, chiavi Redis, cache o file di sistema senza backup e senza aver identificato l’oggetto coinvolto
- Non ripetere pagamenti, import o webhook reali finché non hai verificato l’idempotenza
Guide Xlogic correlate
- MySQL Error 1813: tablespace exists
- MySQL Error 1242: subquery returns more than one row
- MySQL Error 1286: unknown storage engine
Fonti tecniche
Domande frequenti
Che cosa significa “MySQL error 1118 Row size too large”?
MySQL error 1118 Row size too large — indica che la definizione o l’aggiornamento di una tabella richiede una riga più grande del limite consentito dal formato e dalla configurazione InnoDB.
Da cosa può dipendere “MySQL error 1118 Row size too large”?
Le cause da verificare per “MySQL error 1118 Row size too large” sono: troppe colonne VARCHAR o CHAR; formato di riga InnoDB non adatto; conversione a utf8mb4.
Quali controlli eseguire per “MySQL error 1118 Row size too large”?
Per diagnosticare “MySQL error 1118 Row size too large”, controlla nell’ordine: leggere la definizione completa della tabella; controllare ENGINE e ROW_FORMAT; stimare le colonne memorizzate inline. La soluzione è confermata quando la query termina con il risultato previsto; schema e vincoli restano coerenti.