在MySQL中,可以使用以下存储过程来判断表是否存在:

DELIMITER //

CREATE PROCEDURE check_table_exists(IN table_name VARCHAR(255), OUT table_exists INT)
BEGIN
    DECLARE table_count INT;
    
    SELECT COUNT(*) INTO table_count
    FROM information_schema.tables
    WHERE table_schema = DATABASE()
    AND table_name = table_name;
    
    IF table_count > 0 THEN
        SET table_exists = 1;
    ELSE
        SET table_exists = 0;
    END IF;
    
END //

DELIMITER ;

使用方法:

CALL check_table_exists('table_name', @table_exists);
SELECT @table_exists;

其中,'table_name'是要检查的表名,@table_exists是一个输出参数,用于存储表存在与否的结果。执行存储过程后,可以通过SELECT语句获取@table_exists的值来判断表是否存在。如果@table_exists的值为1,则表存在;如果值为0,则表不存在。

MySQL存储过程:判断表是否存在 - 代码示例与使用方法

原文地址: https://www.cveoy.top/t/topic/p6PO 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录