Po prostu opakowuję mój skrypt SQL w procedurę, w której dozwolony jest kod warunkowy. Jeśli wolisz nie zostawiać rozrzuconych oświadczeń, możesz zrezygnować z procedury, gdy skończysz. Oto przykład:
delimiter //
create procedure insert_games()
begin
set @platform_id := (select id from platform where name = 'Nintendo DS');
-- Only insert rows if the platform was found
if @platform_id is not null then
insert into game(name, platform_id) values('New Super Mario Bros', @platform_id);
insert into game(name, platform_id) values('Mario Kart DS', @platform_id);
end if;
end;
//
delimiter ;
-- Execute the procedure
call insert_games();
-- Drop the procedure
drop procedure insert_games;
Jeśli nie korzystałeś z procedur, słowo kluczowe „delimiter” może wymagać wyjaśnienia. Pierwsza linia zmienia ogranicznik na "//", dzięki czemu możemy dołączyć średniki do naszej definicji procedury bez próby ich interpretacji przez MySQL. Po utworzeniu procedury przełączamy ogranicznik z powrotem na „;” dzięki czemu możemy wykonywać instrukcje jak zwykle.