判断字段是否存在:
DROP PROCEDURE IF EXISTS schema_change; DELIMITER //CREATE PROCEDURE schema_change() BEGIN DECLARE CurrentDatabase VARCHAR();SELECT DATABASE() INTO CurrentDatabase;IF NOT EXISTS (SELECT * FROM information_schema.columns WHERE table_schema=CurrentDatabase AND table_name = "rtc_order" AND column_name = "IfUpSend") THEN ALTER TABLE rtc_orderADD COLUMN `IfUpSend` BIT NOT NULL DEFAULT COMMENT "是否上传 是否上传";END IF; END// DELIMITER ; CALL schema_change();
判断索引是否存在:DROP PROCEDURE IF EXISTS schema_change; DELIMITER //CREATE PROCEDURE schema_change() BEGIN DECLARE CurrentDatabase VARCHAR();SELECT DATABASE() INTO CurrentDatabase;IF NOT EXISTS (SELECT * FROM information_schema.statistics WHERE table_schema=CurrentDatabase AND table_name = "rtc_phototype" AND index_name = "index_name") THEN ALTER TABLE `rtc_Phototype` ADD INDEX index_name ( `imgtype` );END IF; END// DELIMITER ; CALL schema_change();
从这两段可以看出很多东西,具体可以自己试验一下
关于小编给大家介绍的Mysql判断表字段或索引是否存在的内容就给大家介绍到这里,希望对大家有所帮助!