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

एसक्यूएल अगर चयन के बिना सम्मिलित बयान में

मुझे लगता है कि आपकी तालिका का नाम tbl है।

INSERT INTO tbl (campoX ) 
    SELECT 'X' FROM DUAL 
    WHERE NOT EXISTS( 
                      SELECT campoX from tbl 
                      WHERE campoX ='X'
                     );

DUAL विशुद्ध रूप से उन लोगों की सुविधा के लिए है, जिन्हें यह आवश्यक है कि सभी SELECT कथनों में FROM और संभवतः अन्य खंड होने चाहिए। MySQL क्लॉज को नजरअंदाज कर सकता है। यदि कोई तालिका संदर्भित नहीं है, तो MySQL को FROM DUAL की आवश्यकता नहीं है।

जैसा कि कुछ अन्य ने उल्लेख किया है, आप INSERT IGNORE . का उपयोग कर सकते हैं यहां कथन यदि आपका कैंपोक्स एक यूनिग्यू या प्राथमिक कुंजी फ़ील्ड है।



  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 या MariaDB गैलेरा क्लस्टर की पूर्ण पुनर्स्थापना

  2. MySQL बनाम MongoDB

  3. MySQL सर्वर को सुरक्षित करना

  4. WampServer - mysqld.exe प्रारंभ नहीं हो सकता क्योंकि MSVCR120.dll अनुपलब्ध है

  5. 2 सूचकांक के साथ कोडनिर्देशक में सत्यापन अद्वितीय क्षेत्र