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

Sisipan Bersyarat MySQL

Jika DBMS Anda tidak memberikan batasan pada tabel mana yang Anda pilih saat Anda menjalankan penyisipan, coba:

INSERT INTO x_table(instance, user, item) 
    SELECT 919191, 123, 456
        FROM dual
        WHERE NOT EXISTS (SELECT * FROM x_table
                             WHERE user = 123 
                               AND item = 456)

Dalam hal ini, dual adalah tabel dengan satu baris saja (awalnya ditemukan di Oracle, sekarang juga di mysql). Logikanya adalah bahwa pernyataan SELECT menghasilkan satu baris data dengan nilai yang diperlukan, tetapi hanya jika nilainya belum ditemukan.

Atau, lihat pernyataan MERGE.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Memigrasikan Database MySQL dari CloudSQL Ke AWS RDS

  2. Cara Menggunakan Tampilan di Database MySQL

  3. Cara Mendapatkan Meta Data Basis Data

  4. Tantangan Menskalakan Database MySQL Moodle

  5. Tidak dapat terhubung ke server MySQL lokal melalui soket '/var/lib/mysql/mysql.sock' (2)