Код ошибки: 1054. Неизвестный столбец в предложении where - PullRequest
0 голосов
/ 15 апреля 2020

У меня есть следующая таблица ..

create table Reservation(
Reservation_number int not null auto_increment,
Flight_id int not null,
Number_of_passengers int,
Contact_Passport_number int,
primary key(Reservation_number),
foreign key(Flight_id) references Flight(Flight_id),
foreign key(Contact_Passport_number) references Contact(Contact_Passport_number)
);

.. следующая хранимая процедура

delimiter //
create procedure addContact(
    in reservation_nr int,
    in passport_number int,
    in email varchar(30),
    in phone bigint)
begin
    declare PassNumCheck int;
    declare ResNumCheck int;

    select Passengers.Passport_number into PassNumCheck
    from Passengers
    where Passengers.Passport_number = passport_number;

    select Reservation_number into ResNumCheck
    from Reservation
    where Reservation_number = reservation_nr;

    if (ResNumCheck is null) then
        select "The given reservation number does not exist" as message;
    elseif (PassNumCheck is null) then
        select "The person is not a passenger of the reservation" as message;
    else
        insert into Contact(Contact_Passport_number,Phone_number,E_mail)
        values (passport_number,phone,email);

        update Reservation
        set Contact_Passport_number = passport_number
        where Reservation_number = reservation_nr;
    end if;
end;
//
delimiter ;

.. и следующий вызов процедуры

CALL addContact(@a,00000001,"frodo@magic.mail",080667989);

Я получаю следующую ошибку «Код ошибки: 1054. Неизвестный столбец« Reservation_number »в« where clause »», когда я пытаюсь выполнить вызов процедуры.

Обновление .. У меня также есть следующий триггер и таблица

drop trigger if exists ticketnumber;
delimiter //
create trigger ticketnumber
after update on Reservation
for each row

begin
declare ticket_number bigint;
set ticket_number=rand();

update Ticket set Ticket_number=ticket_number
where Reservation.Reservation_number=NEW.Reservation_number;
end;
//

delimiter ;

create table Ticket(
Booking_id int not null,
Passport_number int not null,
Ticket_number int,
primary key(Booking_id,Passport_number),
foreign key(Booking_id) references Booking(Booking_id),
foreign key(Passport_number) references Passengers(Passport_number)
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...