Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Selecione se existir mais inserir?


Sua afirmação está boa como está. O único problema é que você não pode usá-lo como uma consulta normal. Estruturas de controle como IF ou WHILE são permitidos apenas em procedimentos armazenados ou funções.

Basta criar um procedimento assim:
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 chame assim:
call select_or_insert();

É isso.