Валидная строка не может пройти проверку при добавлении к таблице
Структура таблицы seats:
CREATE TABLE seats
( aircraft_code char(3) NOT NULL, -- код самолета, IATA
seat_no varchar(4) NOT NULL, -- Номер места
fare_condition varchar(10) NOT NULL, -- Класс обслуживания
CHECK(fare_condition IN ('Economy', 'Comfort', 'Business')),
PRIMARY KEY(aircraft_code, seat_no),
FOREIGN KEY(aircraft_code)
REFERENCES aircrafts(aircraft_code)
ON DELETE CASCADE
);
INSERT INTO seats VALUES ('ABA', '1', 'Business');
Получаю вот такое сообщение:
ОШИБКА: новая строка в отношении "seats" нарушает ограничение-проверку "seats_fare_condition_check" ПОДРОБНОСТИ: Ошибочная строка содержит (ABA, 1, Business).
Но вот такую строку таблица принимает без ошибок.
INSERT INTO seats VALUES ('DYR', '2', 'Economy');
Ответы (1 шт):
Автор решения: Aziz Umarov
→ Ссылка
У Вас срабатывает CHECK(fare_condition IN ('Economy', 'Comfort', 'Business')). Скорее всего у Вас в INSERT INTO seats VALUES ('ABA', '1', 'Business'); перемешались кириллица с латиницей перебейте буквы и проверьте.