我正在尝试在不同的 5 个数据库中执行以下脚本。
SET @CONSTRAINT_NAME = (SELECT CONSTRAINT_NAME
FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE REFERENCED_TABLE_NAME = 'StudentMaster'
AND TABLE_NAME = 'StudentSubjectMa'
AND CONSTRAINT_SCHEMA = DATABASE());
现在,我想在这里检查一下 if @CONSTRAINT_NAME
is NOT NULL
then 应该只执行下面的语句。可能吗?
SET @DROP_CONSTRAINT_SQL = CONCAT("ALTER TABLE StudentSubjectMarksMap
DROP FOREIGN KEY `", @CONSTRAINT_NAME , "`");
PREPARE DROP_CONSTRAINT_SQL_STMT FROM @DROP_CONSTRAINT_SQL;
EXECUTE DROP_CONSTRAINT_SQL_STMT;
DROP PREPARE DROP_CONSTRAINT_SQL_STMT;