1

以下のスクリプトを異なる 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_NAMEis NOT NULLthen 以下のステートメントのみを実行する必要があることを確認したいと思います。出来ますか?

    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;
4

1 に答える 1