यदि आप विदेशी कुंजी को छोड़ना चाहते हैं यदि वह मौजूद है और प्रक्रियाओं का उपयोग नहीं करना चाहते हैं आप इसे इस तरह से कर सकते हैं (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;
यदि विदेशी कुंजी है तो हम परिवर्तन तालिका विवरण को चर में डालते हैं और यदि नहीं है तो हम एक डमी कथन डालते हैं। और फिर हम इसे निष्पादित करते हैं।