आपका कथन वैसे ही ठीक है। केवल समस्या यह है कि आप इसे सामान्य क्वेरी की तरह उपयोग नहीं कर सकते। नियंत्रण संरचनाएं जैसे 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();
बस।