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

MySQL सम्मिलित करें यदि शर्त

आप ऐसा कुछ कर सकते हैं:

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

संपादित करें:

उफ़। यह उपरोक्त MySQL में काम नहीं करता है क्योंकि इसमें from गायब है खंड (हालांकि कई अन्य डेटाबेस में काम करता है)। किसी भी मामले में, मैं आमतौर पर मूल्यों को एक सबक्वायरी में डालकर लिखता हूं, इसलिए वे केवल एक बार क्वेरी में दिखाई देते हैं:

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. कनेक्टर/सी++ MySQL एरर कोड:2014, SQLState:HY000 और कमांड्स आउट ऑफ सिंक एरर क्यों?

  2. MySQL:फुलटेक्स्ट में स्कोर हमेशा 1 क्यों होता है?

  3. काउंट . का उपयोग करते समय मैसकल केवल एक पंक्ति लौटाता है

  4. jdbc के लिए कोई उपयुक्त ड्राइवर नहीं मिला:mysql netbeans, *.jar लाइब्रेरी में शामिल है

  5. MYSQLI तैयार कथन कोई आउटपुट प्राप्त नहीं करता है