Ошибка при вводе даты - Неправильное значение даты:

У меня есть столбец с именем 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