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

Hvad er denne fejl? Databaseforespørgsel mislykkedes:Data trunkeret for kolonne 'kolonnenavn' i række 1

'' og null er ikke de samme. hvis din mysql-server er i streng tilstand, vil den nægte at lave indsættelsen, da du har videregivet ugyldige data til kolonnen. uden streng tilstand returnerer den en advarsel.

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

enten indsæt eksplicit null s, eller angiv ikke engang kolonnen i indsættelsen.

Når du opdaterer, kan du sende alle de værdier, du har, fordi mysql automatisk vil ignorere de uændrede.



  1. Problemer med MySQL LOAD XML INFILE

  2. Henter java.sql.SQLEundtagelse:Betjening er ikke tilladt efter ResultSet lukket

  3. Selleri Worker Database Connection Pooling

  4. Transponer rækker til kolonner i MySQL