sql >> Databáze >  >> RDS >> Mysql

co je to za chybu? Databázový dotaz selhal:Data pro sloupec 'název_sloupce' na řádku 1 byla zkrácena

'' a null nejsou stejné. pokud je váš server mysql v přísném režimu, odmítne vložení provést, protože jste pro sloupec předali neplatná data. bez přísného režimu vrátí varování.

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

buď vložte explicitní null s, nebo sloupec ve vložce ani nespecifikujte.

při aktualizaci můžete odeslat všechny hodnoty, které máte, protože mysql bude automaticky ignorovat ty nezměněné.



  1. toto je chyba ORA-12154:TNS:Nelze vyřešit zadaný identifikátor připojení?

  2. Jak kopírovat data z jedné tabulky do druhé v SQL

  3. Java Multicast Time To Live je vždy 0

  4. ExecuteNonQuery vrací hodnotu -1 při použití sql COUNT navzdory řetězci dotazu