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

Одиночные элементы только для чтения, хранящие некоторое глобальное состояние (пользовательский язык, помогите filepath, путь приложения) разумны. Остерегайтесь использования одиночных элементов для управления бизнес-логикой - единственный, почти всегда заканчивает тем, что был [приблизительно 110]

18
задан TigerTiger 16 July 2009 в 14:01
поделиться

3 ответа

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

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

20
ответ дан 30 November 2019 в 08:48
поделиться

Just omit the field when your doing your insert.

Say your table is like this:

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

If you want to insert something without the date, use:

INSERT INTO mytable (name) VALUES ('name here');
0
ответ дан 30 November 2019 в 08:48
поделиться

фу ... немного боролся с этим нулевым.

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

наконец-то выяснилось, что это произошло из-за того, что я заключил NULL в одинарные кавычки, например ('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) ."', ";
    }

Это исправило это.

2
ответ дан 30 November 2019 в 08:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: