Mysql
 sql >> Database >  >> RDS >> Mysql

Qual è questo errore? Query database non riuscita:dati troncati per la colonna 'column_name' alla riga 1

'' e null non sono la stessa cosa. se il tuo server mysql è in modalità rigorosa, si rifiuterà di eseguire l'inserimento poiché hai passato dati non validi per la colonna. senza modalità rigorosa, restituisce un avviso.

mysql> create table a (a float not null);
Query OK, 0 rows affected (0.11 sec)

mysql> insert a values ('');
Query OK, 1 row affected, 1 warning (0.05 sec)

mysql> show warnings;
+---------+------+----------------------------------------+
| Level   | Code | Message                                |
+---------+------+----------------------------------------+
| Warning | 1265 | Data truncated for column 'a' at row 1 |
+---------+------+----------------------------------------+
1 row in set (0.00 sec)

mysql> set sql_mode = 'STRICT_ALL_TABLES';
Query OK, 0 rows affected (0.02 sec)

mysql> insert a values ('');
ERROR 1265 (01000): Data truncated for column 'a' at row 1

o inserisci null esplicito s, o non specificare nemmeno la colonna nell'inserto.

durante l'aggiornamento puoi inviare tutti i valori che hai perché mysql ignorerà automaticamente quelli invariati.