Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Wybierz, jeśli istnieje jeszcze wstawić?

Twoje oświadczenie jest w porządku, tak jak jest. Jedynym problemem jest to, że nie można go używać jak normalnego zapytania. Struktury kontrolne, takie jak IF lub WHILE są dozwolone tylko w procedurach lub funkcjach składowanych.

Po prostu utwórz taką procedurę:

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

i nazwij to tak:

call select_or_insert();

To wszystko.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL Levenshtein

  2. Czy stół „czarnej dziury” jest zły?

  3. Łączysz się z bazą danych z rozszerzenia Chrome?

  4. Pobierz wszystkie wiersze z ostatniego miesiąca (Laravel + Eloquent)

  5. Indeks złożony dla tabeli relacji