mysql ошибка по запросу (ошибка add_date) с использованием php

У меня есть это утверждение MySQL, и это дает мне ошибку:

INSERT INTO envios ( fecha_estimada_entrega) VALUES (ADDDATE('15/10/2011', INTERVAL 8    DAY));

Когда я запускаю его, я получаю это сообщение:

#1048 - Column 'fecha_estimada_entrega' cannot be null

Можете ли вы помочь мне в этом?

Я уверен, что это довольно просто, но моя голова обожжена.

Благодарю.

php,mysql,

0

Ответов: 2


"за" 2 "за" принято

Попробуйте изменить формат даты на стандартный формат ISO 8601 :

INSERT INTO envios (fecha_estimada_entrega)
VALUES (ADDDATE('2011-10-15', INTERVAL 8 DAY));

MySQL, вероятно, пытается проанализировать число 15 как число месяца, потерпел неудачу и преобразует вашу '15/10/2011'дату в NULL. Переход на ISO 8601 (один настоящий формат даты BTW) дает мне ощутимые результаты:

mysql> select ADDDATE('2011-10-15', INTERVAL 8 DAY);
+---------------------------------------+
| ADDDATE('2011-10-15', INTERVAL 8 DAY) |
+---------------------------------------+
| 2011-10-23                            |
+---------------------------------------+

Кроме того, вы всегда должны использовать внутренние форматы даты и времени ISO 8601 и ограничивать другие форматы краями (т. Е. Пользовательский ввод и окончательное отображение). Таким образом вы избавите себя от множества неприятностей, и они даже будут правильно сортироваться как строки.


Вы должны предоставить формат даты, который понимает MySQL (например, YMD).

INSERT INTO envios ( fecha_estimada_entrega )
VALUES ( ADDDATE('2011-10-15', INTERVAL 8 DAY) );
PHP, MySQL,
Похожие вопросы