Как вставить дату и время в будущем в PHP / MySQL? - PullRequest
2 голосов
/ 25 июня 2011

У меня есть таблица базы данных со столбцом datetime. Все работает нормально, если сделать вставку с использованием текущей даты:

INSERT INTO table VALUES ('field1', now(), 'field2');

Но он возвращает NULL, когда я пытаюсь вставить дату в будущем. Я делаю это:

INSERT INTO table VALUES ('field1', '2011-07-01 00:00:00', 'field2');

Что не так с этим запросом ??

пь. Он отлично работает, когда я вставляю текущую дату, а затем делаю обновление с помощью DATE_ADD () Но это сложно, нет ничего проще сделать это ??

спасибо!

Ответы [ 3 ]

4 голосов
/ 25 июня 2011

Взгляните на это

Единственная проблема, которая у вас действительно есть, состоит в том, что строка, которую вы хотите вставить в поле даты, не анализируется в строке.такие функции, как now (), и другие date-time возвращают тип даты, и, как вы уже написали, проблем с этим нет.Подсказка: «Если значение даты, времени или datetime, извлеченное из str, недопустимо, STR_TO_DATE () возвращает NULL и выдает предупреждение» *

0 голосов
/ 18 января 2012

Извините, мой плохой: /

Я уже забыл столбец в моем sql-запросе, поэтому он возвратил NULL ...

В конце базовый INSERT вроде '2014-01-00 00:00:00 'отлично работает на дату (даже если вы не указали чч: мм: сс).

0 голосов
/ 25 июня 2011

Используйте это

INSERT INTO VALUES таблицы ('field1', CURRENT_TIMESTAMP, 'field2');

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...