''
en null
zijn niet hetzelfde. als uw mysql-server zich in de strikte modus bevindt, zal deze weigeren de invoeging uit te voeren omdat u ongeldige gegevens voor de kolom hebt doorgegeven. zonder strikte modus geeft het een waarschuwing.
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
ofwel voeg expliciete null
in s, of specificeer niet eens de kolom in de insert.
wanneer je aan het updaten bent, kun je alle waarden die je hebt verzenden, omdat mysql de ongewijzigde automatisch negeert.