Ditt uttalande är bra som det är. Det enda problemet är att du inte kan använda det som en vanlig fråga. Kontrollstrukturer som IF
eller WHILE
är endast tillåtna i lagrade procedurer eller funktioner.
Skapa bara en procedur så här:
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 $$
och kalla det så här:
call select_or_insert();
Det var allt.