Seems that either I don't understand mysql, or something. My table, with the non-important things removed... mysql> explain plate; +---------+-----------------------+------+-----+---------------------+----------------+ | Field | Type | Null | Key | Default | Extra | +---------+-----------------------+------+-----+---------------------+----------------+ | pid | mediumint(8) unsigned | | PRI | NULL | auto_increment | | year | year(4) | YES | | NULL | | [...] So my assumption is that if I insert with year="" it should use the default. Or at least 0000. mysql> update plate set year=NULL where pid=65; Query OK, 1 row affected (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 0 mysql> select * from plate where pid=65; +-----+---------+------+- | pid | plate | year | +-----+---------+------+- | 65 | DVF0343 | NULL | +-----+---------+------+- But if I do this: mysql> update plate set year="" where pid=65; Query OK, 1 row affected (0.01 sec) Rows matched: 1 Changed: 1 Warnings: 1 mysql> select * from plate where pid=65; +-----+---------+------+- | pid | plate | year | +-----+---------+------+- | 65 | DVF0343 | 2000 | +-----+---------+------+- 2000? What? Why? Confused. PHP or Mysql fault? Beckman --------------------------------------------------------------------------- Peter Beckman Internet Guy beckman@purplecow.com http://www.purplecow.com/ --------------------------------------------------------------------------- -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php