mysql存储过程 传入表名查询表是否存在
可以使用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。最后,通过调用存储过程并检查输出参数的值来判断表是否存在
原文地址: http://www.cveoy.top/t/topic/ilHv 著作权归作者所有。请勿转载和采集!