MySQL 存储过程:检查表是否存在
可以使用以下的存储过程来查询表是否存在:
DELIMITER $$
CREATE PROCEDURE `check_table_exists`(IN `table_name` VARCHAR(255), OUT `table_exists` INT)
BEGIN
SET @table_count = 0;
SET @query = CONCAT('SELECT COUNT(*) INTO @table_count FROM information_schema.tables WHERE table_name = ''', table_name, '''');
PREPARE stmt FROM @query;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET table_exists = @table_count;
END$$
DELIMITER ;
使用方法示例:
SET @table_name = 'your_table_name';
CALL check_table_exists(@table_name, @table_exists);
SELECT @table_exists;
该存储过程将会返回 1 表示表存在,返回 0 表示表不存在。
原文地址: https://www.cveoy.top/t/topic/p3Kb 著作权归作者所有。请勿转载和采集!