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

MySQL INSERT IF (pernyataan if khusus)

INSERT INTO TABLE
SELECT value_for_column1, value_for_column2, ...
FROM wherever
WHERE your_special_condition

Jika tidak ada baris yang dikembalikan dari pilihan (karena kondisi khusus Anda salah) tidak ada penyisipan yang terjadi.

Menggunakan skema Anda dari pertanyaan (dengan asumsi id Anda kolomnya adalah auto_increment ):

insert into orders (product_id, qty)
select 2, 20
where (SELECT qty_on_hand FROM products WHERE id = 2) > 20;

Ini tidak akan menyisipkan baris jika tidak ada stok yang cukup, jika tidak maka akan membuat baris pesanan.

Ide bagus btw!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara mencocokkan email atau telepon dengan Elasticsearch?

  2. MySQL 8.0 - Klien tidak mendukung protokol otentikasi yang diminta oleh server; pertimbangkan untuk memutakhirkan klien MySQL

  3. Pembaruan MySQL KASUS KETIKA/KEMUDIAN/LAINNYA

  4. Pemeriksaan Kesehatan Penting untuk Server Replika Sumber MySQL Anda

  5. Apa perbedaan antara =null dan IS NULL?