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

विदेशी कुंजी तभी छोड़ें जब वह मौजूद हो

यदि आप विदेशी कुंजी को छोड़ना चाहते हैं यदि वह मौजूद है और प्रक्रियाओं का उपयोग नहीं करना चाहते हैं आप इसे इस तरह से कर सकते हैं (MySQL के लिए):

set @var=if((SELECT true FROM information_schema.TABLE_CONSTRAINTS WHERE
            CONSTRAINT_SCHEMA = DATABASE() AND
            TABLE_NAME        = 'table_name' AND
            CONSTRAINT_NAME   = 'fk_name' AND
            CONSTRAINT_TYPE   = 'FOREIGN KEY') = true,'ALTER TABLE table_name
            drop foreign key fk_name','select 1');

prepare stmt from @var;
execute stmt;
deallocate prepare stmt;

यदि विदेशी कुंजी है तो हम परिवर्तन तालिका विवरण को चर में डालते हैं और यदि नहीं है तो हम एक डमी कथन डालते हैं। और फिर हम इसे निष्पादित करते हैं।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. स्मृति-कुशल अंतर्निहित SqlAlchemy इटरेटर/जनरेटर?

  2. डेटाबेस स्केलिंग पैटर्न को समझने के लिए एक गाइड

  3. सम्मिलन के एक घंटे बाद का दिनांक समय। दिन के उजाले की बचत

  4. MySQL:क्या किसी तालिका के बिना मानों के साथ चयन को 'भरना' संभव है?

  5. स्तंभ नाम के साथ कई स्तंभों का सबसे बड़ा मूल्य?