sql >> Databáze >  >> RDS >> Mysql

Vyberte, zda existuje jiný vložit?

Vaše vyjádření je v pořádku tak, jak je. Jediný problém je, že to nemůžete použít jako normální dotaz. Řídící struktury jako IF nebo WHILE jsou povoleny pouze v uložených procedurách nebo funkcích.

Stačí vytvořit postup, jako je tento:

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

a nazvěte to takto:

call select_or_insert();

To je ono.



  1. dvojité výsledky v mém poli ( mysql_fetch_array )

  2. MYSQL_ROOT_PASSWORD je nastaveno, ale přístup odepřen uživateli 'root'@'localhost' (pomocí hesla:YES) v kontejneru dockeru

  3. Výhody učení se novým DB systémům

  4. Seskupit podle sloupce a více řádků do jednoho řádku více sloupců