可以使用以下的存储过程来查询表是否存在:

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 著作权归作者所有。请勿转载和采集!

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