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

Vælg om eksisterer andet indsæt?

Dit udsagn er fint, som det er. Det eneste problem er, at du ikke kan bruge det som en normal forespørgsel. Kontrolstrukturer som IF eller WHILE er kun tilladt i lagrede procedurer eller funktioner.

Bare opret en procedure som denne:

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

og kald det sådan her:

call select_or_insert();

Det var det.



  1. Oracle 11g får alle matchede forekomster af et regulært udtryk

  2. MySql sum elementer af en kolonne

  3. MySQL-opdatering eller omdøb en nøgle i JSON

  4. Vis MySQL-resultater efter dato