Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL केवल तभी डालें जब कोई शर्त सही हो

आप WHERE . का उपयोग कर सकते हैं इसके लिए खंड। अपने INSERT VALUES को INSERT SELECT में बदलें और एक WHERE जोड़ें खंड।

उदाहरण के लिए,

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

यदि शर्त सत्य है, तो यह पंक्ति सम्मिलित करेगा। यदि शर्त गलत है, तो SELECT शून्य पंक्तियाँ लौटाएगा और इस प्रकार INSERT शून्य पंक्तियाँ सम्मिलित करेगा।

यदि उपरोक्त क्वेरी सिंटैक्स त्रुटि के कारण नहीं चलती है, तो आप, जैसा कि @spencer7593 उल्लेख किया गया है, FROM DUAL जोड़ सकते हैं। ।

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

DUAL तालिका अनिवार्य रूप से एक डमी तालिका है जिसमें अनुमानित सामग्री है और जिस पर हमेशा कम से कम एक पंक्ति रखी जा सकती है



  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. MySQL:#126 - तालिका के लिए गलत कुंजी फ़ाइल

  3. PHP और MySQL का उपयोग करके श्रेणियां और अंत-कम उप श्रेणियां कैसे प्रदर्शित करें?

  4. MySQL डेटा के साथ AutoCompleteTextView

  5. php निष्पादन () - mysqldump एक खाली फ़ाइल बनाता है