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

Sisipkan MySQL hanya jika kondisinya benar

Anda dapat menggunakan WHERE klausa untuk ini. Ubah INSERT VALUES Anda menjadi INSERT SELECT dan tambahkan WHERE klausa.

Misalnya,

INSERT INTO fields (field_name, control_type_id, needs_approval)
SELECT
'Array Photos', 3, 0
WHERE Condition;

Jika Kondisi benar, itu akan menyisipkan baris. Jika Kondisi salah, SELECT akan mengembalikan nol baris dan dengan demikian INSERT akan menyisipkan nol baris.

Jika kueri di atas tidak berjalan karena kesalahan sintaks, Anda dapat, seperti yang disebutkan @spencer7593, menambahkan FROM DUAL .

INSERT INTO fields (field_name, control_type_id, needs_approval)
SELECT
'Array Photos', 3, 0
FROM DUAL
WHERE Condition;

DUAL tabel pada dasarnya adalah tabel dummy yang memiliki konten yang dapat diprediksi dan dapat diandalkan untuk selalu memiliki setidaknya satu baris .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. IllegalArgumentException:Jenis tidak boleh nol

  2. Bagaimana cara menghubungkan MySQL Workbench ke Amazon RDS?

  3. Bagaimana cara mendapatkan nilai kolom tipe data BIT(…) dalam bentuk biner?

  4. MySQL - bagaimana cara menggunakan wildcard dalam klausa WHERE untuk nama kolom itu sendiri?

  5. Sedikit saran tentang Cassandra vs. MySQL