SET @fk_order_item_order = ( SELECT CONSTRAINT_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'orderitem' AND REFERENCED_TABLE_NAME = 'order' LIMIT 1 ); SET @sql = IF( @fk_order_item_order IS NULL, 'SELECT 1', CONCAT('ALTER TABLE `orderitem` DROP FOREIGN KEY `', @fk_order_item_order, '`') ); PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt; SET @fk_order_item_product = ( SELECT CONSTRAINT_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'orderitem' AND REFERENCED_TABLE_NAME = 'supplier_product' LIMIT 1 ); SET @sql = IF( @fk_order_item_product IS NULL, 'SELECT 1', CONCAT('ALTER TABLE `orderitem` DROP FOREIGN KEY `', @fk_order_item_product, '`') ); PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt; SET @fk_order_user = ( SELECT CONSTRAINT_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'order' AND REFERENCED_TABLE_NAME = 'User' LIMIT 1 ); SET @sql = IF( @fk_order_user IS NULL, 'SELECT 1', CONCAT('ALTER TABLE `order` DROP FOREIGN KEY `', @fk_order_user, '`') ); PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt; DROP TABLE IF EXISTS `orderitem`; DROP TABLE IF EXISTS `order`;