Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL Insert if условие

Можете да направите нещо подобно:

insert into cats_rel(cat_id, post_id)
    select 11, 32
    where not exists (select 1 from cats_rel where cat_id = 11 and post_id = 32);

РЕДАКТИРАНЕ:

опа Това по-горе не работи в MySQL, защото липсва from клауза (все пак работи в много други бази данни). Във всеки случай обикновено пиша това, като поставям стойностите в подзаявка, така че те се появяват в заявката само веднъж:

insert into cats_rel(cat_id, post_id)
    select toinsert.cat_id, toinsert.post_id
    from (select 11 as cat_id, 32 as post_id) toinsert
    where not exists (select 1
                      from cats_rel cr
                      where cr.cat_id = toinsert.cat_id and cr.post_id = toinsert.post_id
                     );


  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

  2. ВМЕСТЕ В... ИЗБЕРЕТЕ ОТ ... ПРИ АКТУАЛИЗИРАНЕ НА ДУБЛИРАН КЛЮЧ

  3. Изпращане на данни към база данни в уеб приложение React.js

  4. Как да настроя phpmyadmin и SQL за съобщения чрез REST-api?

  5. Mysql функция за трансформиране на ненулеви стойности