Моя таблица выглядит так:
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'.
Документация находится на здесь
Что я делаю неправильно?
Нет, таблица полностью пуста.
о, хорошо, нарушение ограничения первичного ключа в любом случае приведет к другой ошибке, теперь, когда я думаю об этом. похоже, что у вас есть ответ ниже!






Не ставьте запятую после 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');
ах, такая простая ошибка, как я этого не уловил. Спасибо!
Не беспокойтесь, ошибка MySql, на мой взгляд, вводит в заблуждение, поскольку она предоставила контекст только после фактической синтаксической ошибки. Например. в PostgreSQL сообщение об ошибке выглядит так: ERROR: syntax error at or near ",", поэтому я вижу, как вы этого не заметили.
Основываясь на информации, предоставленной в вашем вопросе, есть вероятность, что другие поля, не обязательно поле order_date, могут быть причиной ошибки. Рассмотрим первичный ключ (есть ли другая запись со значением 1?) Или строковый формат (не уверен, имеют ли значение одинарные / двойные кавычки) и т. д.