Я попытался запустить это в SQL Fiddle и обнаружил, что ваши форматы даты недействительны, что вызывает ошибку, а STR_TO_DATE()
не нужен и шумит.
Кроме того, вы не должны передавать явные значения для столбцов auto_increment
, потому что они предназначены для автоматического увеличения. Мне показалось, что это сработало, даже если я прошел 1
, но совет состоит в том, чтобы пройти null
и позволить движку назначить.
Эта измененная схема строит / работает нормально :
CREATE TABLE FLIGHT
(
ID INT NOT NULL AUTO_INCREMENT,
FLIGHT_NUMBER VARCHAR(20) NOT NULL,
OPERATING_AIRLINES VARCHAR(20) NOT NULL,
DEPARTURE_CITY VARCHAR(20) NOT NULL,
ARRIVAL_CITY VARCHAR(20) NOT NULL,
DATE_OF_DEPARTURE DATE NOT NULL,
ESTIMATED_DEPARTURE_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (ID)
);
insert into flight
values (
null,
'SW3',
'South West',
'NYC',
'DAL',
'2020-06-20',
'2020-06-20 10:14:07'
);
В качестве альтернативы вы говорите, что приведенное ниже сработало, хотя я до сих пор не понимаю, почему он позволяет вам передать явное значение вашего id
is действительно an auto_increment
поле, но эй ...
Чтобы вообще не указывать id
(null
или нет), вы можете использовать приведенное ниже, но без первой строки в каждом из столбцов или values
наборов .
insert into flight (
id,
flight_number,
operating_airlines,
departure_city,
arrival_city,
date_of_departure,
estimated_departure_time
)
values (
1,
'SW3',
'South West',
'NYC',
'DAL',
'2020-06-20 10:14:07',
'2020-06-20 10:14:07'
);