Condividi
Errore: Incorrect integer value: 'NULL' for column 'id' at row 1 - fix
Passando dallo sviluppo in locale alla messa online del mio database, ricevo questo messaggio di errore:
Incorrect integer value: 'NULL' for column 'id' at row 1
essendo la colonna id, un identificativo univoco (chiave primaria) con valore auto incrementale, com'è possibile?
Risolta
1
MySql
08-03-2020
2 Risposte
4711 Visite
+2
Risposte ( 2 approvate )
Prova a scrivere la INSERT in questo modo:
se id è settato come chiave primaria con attributo AUTO_INCREMENT, il valore null verrà in automatico sostituito con un intero incrementale alla chiave del record precedente.
Penso che il tuo MySQL Server sia in esecuzione in strict mode.
L'errore: "Incorrect integer value: 'NULL' for column" può essere risolto in due modi, ma per farlo devi avere privilegi alti per poter accedere alle impostazioni globali di MySql, probabilmente dovrai contattare il tuo provider per poter procedere.
Metodo 1:
Apri il file "my.ini" che si trova nella directory d'installazione di MySQL, e cerca qualcosa che sia simile a questo:
Sostituiscilo con:
In questo modo vai a togliere l'impostazione
STRICT_TRANS_TABLE
che comporta controlli più stringenti sulle INSERT dei record all'interno delle tabelle del database. Ovviamente è necessario riavviare il server di database MySql.Metodo 2:
Puoi lanciare una query SQL dal tuo database management tool, quale ad es. phpMyAdmin, il quale normalmente lo trovi nel pannello di controllo del tuoweb hosting (provider):
Anche in questo modo dovresti assicurarti che MySql non sia più in modalità strict_mode, ed eviatare che ti dia l'errore "Incorrect integer value: NULL for column"