Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

MySQL Sisipkan jika Kondisi

Anda dapat melakukan sesuatu seperti ini:

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);

EDIT:

Ups. Itu di atas tidak berfungsi di MySQL karena tidak ada from klausa (berfungsi di banyak database lain). Bagaimanapun, saya biasanya menulis ini dengan meletakkan nilai dalam subquery, sehingga hanya muncul dalam kueri satu kali:

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. Yii2:otomatis mengisi bidang berdasarkan bidang lain dari tabel terkait

  2. Beberapa pernyataan mysql INSERT dalam satu kueri php

  3. Kolom Laravel 1048 tidak boleh NULL untuk menyimpan data

  4. Django tidak dapat menghubungkan mysql di docker-compose

  5. Bagaimana cara memposting parameter kueri dengan Axios?