Pernyataan Anda baik-baik saja seperti itu. Satu-satunya masalah adalah, Anda tidak dapat menggunakannya seperti kueri biasa. Struktur kontrol seperti IF
atau WHILE
hanya diperbolehkan dalam prosedur atau fungsi tersimpan.
Cukup buat prosedur seperti ini:
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 $$
dan beri nama seperti ini:
call select_or_insert();
Itu saja.