gpt4 book ai didi

mysql - 如何在执行特定查询集之前检查 mysql 中的空条件?

转载 作者:行者123 更新时间:2023-11-29 00:12:34 25 4
gpt4 key购买 nike

我正在尝试在不同的 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());

现在,我想在这里检查一下,如果 @CONSTRAINT_NAMENOT NULL,那么应该只执行以下语句。可能吗?

    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;

最佳答案

是的,使用标准的 IF 语句是可能的:

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;
END IF

参见 reference manual更多细节。

关于mysql - 如何在执行特定查询集之前检查 mysql 中的空条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24363467/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com