Ошибка при вводе даты - Неправильное значение даты:
У меня есть столбец с именем today
и тип DATE
.
Когда я пытаюсь добавить дату в формате '07-25-2012'
, я получаю следующую ошибку:
Невозможно выполнить запрос: неверное значение даты: '07 -25-2012 'для столбца
Ответы
Ответ 1
Так как MySql принимает дату в формате y-m-d в столбце типа даты, вам нужно STR_TO_DATE
функцию преобразовать дату в формат yyyy-mm-dd для вставки следующим образом:
INSERT INTO table_name(today)
VALUES(STR_TO_DATE('07-25-2012','%m-%d-%y'));
Символически, если вы хотите выбрать дату в другом формате, отличном от формата Mysql, вы должны попробовать DATE_FORMAT
function
SELECT DATE_FORMAT(today, '%m-%d-%y') from table_name;
Ответ 2
Обычно mysql использует этот формат даты 'Y-m-d H: i: s'
Ответ 3
Вам нужно преобразовать дату в YYYY-MM-DD, чтобы вставить ее в качестве даты MySQL, используя конфигурацию по умолчанию.
Один из способов сделать это: STR_TO_DATE()
:
insert into your_table (...)
values (...,str_to_date('07-25-2012','%m-%d-%Y'),...);
Ответ 4
Это формат даты :
Тип DATE используется для значений с частью даты, но без временной части. MySQL извлекает и отображает значения DATE в формате "YYYY-MM-DD" . поддерживаемый диапазон - от "1000-01-01" до "9999-12-31".
Почему вы вставляете формат '07 -25-2012 ', когда формат MySQL равен' 2012-07-25 '?. На самом деле вы получаете эту ошибку, если sql_mode traditional/strict mode
иначе он просто вводит 0000-00-00 и дает предупреждение: 1265 - Data truncated for column 'col1' at row 1
.
Ответ 5
вам нужно использовать формат YYYY-MM-DD для вставки даты в mysql