Hi Octavian, One approach is to use a trigger,
mysql> set sql_mode = ''; mysql> create table temp_date(d date default null); mysql> create trigger temp_date_bi before insert on temp_date for each row set new.d = if(new.d = '0000-00-00', null, new.d); mysql> insert into temp_date(d) values('2009-13-99'); mysql> select * from temp_date; +------+ | d | +------+ | NULL | +------+ 1 row in set (0.01 sec) mysql> insert into temp_date(d) values('2009-11-19'); mysql> select * from temp_date; +------------+ | d | +------------+ | NULL | | 2009-11-19 | +------------+ 2 rows in set (0.07 sec) Cheers, -Janek CMDEV 5.0 On Fri, 2009-05-15 at 11:32 +0300, Octavian Rasnita wrote: > Hi, > > I have a table with a column like: > > date date default null, > > If I enter an empty string in it, the default null value is added (as it > should). > > But if I enter an invalid date by mistake, the date 0000-00-00 date date is > entered instead of the default null, and this is not good. > > Can I do something to force MySQL to insert a null date if the entered date > is an invalid one? > > Thank you. > > -- > Octavian > > > > -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/mysql?unsub=arch...@jab.org