Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

how to insert an empty value in mysql date type field?

Tags:

How to insert a NULL or empty value in a mysql date type field (NULL = yes).

If I try to insert an empty value it inserts 0000-00-00 but I want to keep it empty or NULL.

Thanks for help.

UPDATE

Please see that I have set default value as NULL

  `payment_due_on` date DEFAULT NULL,

Ok OKies

I have got it working now

function get_mysqlDate($date, $delimiter='/') {
    if(check_empty($date)) {
        return 'NULL';
    }
    list($d, $m, $y) = explode($delimiter, $date);
    //$datetime = strtotime($date);
    return "'".date('Y-m-d', mktime(0,0,0,$m, $d, $y))."'";
}




"... SET mydate = ".get_mysqldate($_POST['mydate'])." ...."

Cheers

like image 704
TigerTiger Avatar asked Jul 16 '09 13:07

TigerTiger


1 Answers

If that's happening, it's because the column has been defined with NOT NULL or with a default '0000-00-00'. You need to change the column definition to allow NULLs and have no default.

Your insert should be specifying NULL, as well, not '', if that's what you mean by "empty value".

like image 183
chaos Avatar answered Oct 26 '22 02:10

chaos