可以使用INFORMATION_SCHEMA系统数据库中的TABLES表来查询表是否存在。下面是一个示例的MySQL存储过程,用于传入表名查询表是否存在:

DELIMITER $$

CREATE PROCEDURE check_table_exists(IN table_name VARCHAR(255), OUT table_exists INT)
BEGIN
    SET table_exists = 0;
    
    SELECT COUNT(*) INTO table_exists
    FROM INFORMATION_SCHEMA.TABLES
    WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = table_name;
END $$

DELIMITER ;

使用方法:

SET @table_name := 'your_table_name';
SET @table_exists := 0;

CALL check_table_exists(@table_name, @table_exists);

SELECT @table_exists;

在上面的示例中,存储过程check_table_exists接受一个输入参数table_name和一个输出参数table_exists。存储过程内部使用INFORMATION_SCHEMA.TABLES表来查询指定表名是否存在,并将结果赋值给输出参数table_exists。最后,通过调用存储过程并检查输出参数的值来判断表是否存在

mysql存储过程 传入表名查询表是否存在

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

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