Твоето изявление е добре както е. Единственият проблем е, че не можете да го използвате като нормална заявка. Контролни структури като IF
или WHILE
са разрешени само в съхранени процедури или функции.
Просто създайте процедура като тази:
delimiter $$
create procedure select_or_insert()
begin
IF EXISTS (select * from users where username = 'something') THEN
select id from users where username = 'something';
ELSE
insert into users (username) values ('something');
END IF;
end $$
и го наречете така:
call select_or_insert();
Това е.