Вставка значений в таблицу с типом данных даты

Моя таблица выглядит так:

create table order_information (

    donut_order_id smallint,
    order_date date,
    special_handling_notes varchar(255),

    primary key(donut_order_id)

);

Моя инструкция вставки выглядит так:

insert into order_information(donut_order_id, order_date, special_handling_notes), values(1, '2018-01-01', 'do not eat any of them on the way');

Мое сообщение об ошибке выглядит так:

Error Code: 1064. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ', values(1, '2018-01-01', 'do not eat any of them on the way')' at line 1 0.000 sec

Документация выглядит так:

The DATE type is used for values with a date part but no time part. MySQL retrieves and displays DATE values in 'YYYY-MM-DD' format. The supported range is '1000-01-01' to '9999-12-31'.

Документация находится на здесь

Что я делаю неправильно?

Основываясь на информации, предоставленной в вашем вопросе, есть вероятность, что другие поля, не обязательно поле order_date, могут быть причиной ошибки. Рассмотрим первичный ключ (есть ли другая запись со значением 1?) Или строковый формат (не уверен, имеют ли значение одинарные / двойные кавычки) и т. д.

Otomatonium 05.06.2018 06:04

Нет, таблица полностью пуста.

Chicken Sandwich No Pickles 05.06.2018 06:09

о, хорошо, нарушение ограничения первичного ключа в любом случае приведет к другой ошибке, теперь, когда я думаю об этом. похоже, что у вас есть ответ ниже!

Otomatonium 05.06.2018 06:10
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
0
3
43
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Не ставьте запятую после into ....

Правильная вставка: insert into order_information(donut_order_id, order_date, special_handling_notes) values(1, '2018-01-01', 'do not eat any of them on the way');

ах, такая простая ошибка, как я этого не уловил. Спасибо!

Chicken Sandwich No Pickles 05.06.2018 06:10

Не беспокойтесь, ошибка MySql, на мой взгляд, вводит в заблуждение, поскольку она предоставила контекст только после фактической синтаксической ошибки. Например. в PostgreSQL сообщение об ошибке выглядит так: ERROR: syntax error at or near ",", поэтому я вижу, как вы этого не заметили.

Kizivat 05.06.2018 06:15

Другие вопросы по теме