mysql 判断表字段或索引是否存在

Posted 厚德载物

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 判断表字段或索引是否存在相关的知识,希望对你有一定的参考价值。

判断字段是否存在:

1 DROP PROCEDURE IF EXISTS schema_change;  
 2 DELIMITER //
 3 CREATE PROCEDURE schema_change() BEGIN 
 4 DECLARE  CurrentDatabase VARCHAR(100);
 5 SELECT DATABASE() INTO CurrentDatabase;
 6 IF NOT EXISTS (SELECT * FROM information_schema.columns WHERE table_schema=CurrentDatabase AND table_name = rtc_order AND column_name = IfUpSend) THEN  
 7     ALTER TABLE rtc_order
 8     ADD COLUMN `IfUpSend` BIT  NOT NULL  DEFAULT 0 COMMENT 是否上传 是否上传;
 9 END IF;  
10 END//  
11 DELIMITER ;  
12 CALL schema_change();

判断索引是否存在:

 1 DROP PROCEDURE IF EXISTS schema_change;  
 2 DELIMITER //
 3 CREATE PROCEDURE schema_change() BEGIN 
 4 DECLARE  CurrentDatabase VARCHAR(100);
 5 SELECT DATABASE() INTO CurrentDatabase;
 6 IF NOT EXISTS (SELECT * FROM information_schema.statistics WHERE table_schema=CurrentDatabase AND table_name = rtc_phototype‘ AND index_name = index_name) THEN  
 7    ALTER TABLE `rtc_Phototype` ADD INDEX index_name ( `imgtype` );
 8 END IF;  
 9 END//  
10 DELIMITER ;  
11 CALL schema_change(); 

从这两段可以看出很多东西,具体可以自己试验一下

 

以上是关于mysql 判断表字段或索引是否存在的主要内容,如果未能解决你的问题,请参考以下文章

mysql判断表字段或索引是否存在,然后修改

Mysql 判断表或字段是否存在新增/修改表结构sql

如何判断某个mysql数据库是不是已存在

mysql 用sql判断表里是不是存在某个字段,不存在加入新字段

mysql 添加数据判断是不是重复添加

liquibase判断mysql表字段是否存在