Intereting Posts
Отправка формы через Javascript, форма, определенная во внешнем файле PHP Zend Form Validate Range Date Бесполезное слияние PDF-файлов (PHP) Должен ли использоваться PDO :: ATTR_PERSISTENT каждый раз? Предоставление пользователям приложения facebook возможности PHP: «Декларация … должна быть совместима с тем …» Keep & nbsp; и другие специальные символы в выходе XSLT с применением шаблонов Как я могу сделать этот код наведения короче? И как я могу создать файл css, который реализует настройки более чем на одну кнопку? Какая польза от использования filter_has_var () над isset () php iconv translit для удаления акцентов: не работает как исключено? Строковые функции PHP vs функции mbstring Как проверить поле формы в PHP с помощью объектно-ориентированной техники Представление JQuery Keep Keeps Refreshing Вложенные модели отношений в формах – Laravel Ограничить нагрузку на ЦП или определить степень процесса

как вставить пустое значение в поле типа даты mysql?

Как вставить значение NULL или пустое значение в поле типа даты mysql (NULL = yes).

Если я попытаюсь вставить пустое значение, оно вставляет 0000-00-00, но я хочу сохранить его пустым или NULL.

Спасибо за помощь.

ОБНОВИТЬ

Посмотрите, что я установил значение по умолчанию как NULL

`payment_due_on` date DEFAULT NULL, 

Ок Окис

Сейчас у меня это работает

 function get_mysqlDate($date, $delimiter='/') { if(check_empty($date)) { return 'NULL'; } list($d, $m, $y) = explode($delimiter, $date); //$datetime = strtotime($date); return "'".date('Ym-d', mktime(0,0,0,$m, $d, $y))."'"; } "... SET mydate = ".get_mysqldate($_POST['mydate'])." ...." 

ура

Если это происходит, это потому, что столбец был определен с NOT NULL или с по default '0000-00-00' . Вам нужно изменить определение столбца, чтобы разрешить NULL s и не иметь значения по умолчанию.

Ваша вставка должна также указывать NULL, а не '' , если это то, что вы подразумеваете под «пустым значением».

phew .. немного боролся с этой нулевой вещью.

У меня был php-скрипт, который копирует, форматирует и хранит данные из одной базы данных A в базу данных B. В базе данных A имелось поле даты с значениями NULL. но когда я скопировал его, он стал 0000-00-00 в моей базе данных B.

наконец, выяснили, что это было потому, что я добавлял одинарные кавычки вокруг NULL like («NULL»).

 $started_date = mysql_result($databaseA['result'],$i,"start_date"); if (empty($published_at_date)){ $insert_sql .= "NULL, "; } else { $insert_sql .= " '" . mysql_real_escape_string($started_date) ."', "; } 

Это фиксировало это.

Просто опустите поле, когда вы делаете свою вставку.

Скажите, что ваш стол выглядит так:

 CREATE TABLE mytable( `name` VARCHAR(30) NOT NULL, `payment_due_on` date DEFAULT NULL); 

Если вы хотите вставить что-то без даты, используйте:

 INSERT INTO mytable (name) VALUES ('name here');