''
und null
sind nicht das Gleiche. Wenn sich Ihr MySQL-Server im strikten Modus befindet, wird er die Einfügung ablehnen, da Sie ungültige Daten für die Spalte übergeben haben. ohne strikten Modus wird eine Warnung zurückgegeben.
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
entweder explizit null
einfügen s, oder geben Sie nicht einmal die Spalte in der Einfügung an.
Wenn Sie aktualisieren, können Sie alle Werte senden, die Sie haben, da mysql die unveränderten automatisch ignoriert.