Mysql
 sql >> Database >  >> RDS >> Mysql

Seleziona se esiste altro inserisci?

La tua affermazione va bene così com'è. L'unico problema è che non puoi usarlo come una normale query. Strutture di controllo come IF o WHILE sono consentiti solo nelle procedure o funzioni memorizzate.

Basta creare una procedura come questa:

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 $$

e chiamalo così:

call select_or_insert();

Questo è tutto.