How to update database dynamically in Mysql
This article introduces how to update the database dynamically in Mysql. The content is very detailed. Interested friends can use it for reference. I hope it will be helpful to you.
Dynamically delete index
DROP PROCEDURE IF EXISTS UPGRADE;DELIMITER $$CREATE PROCEDURE UPGRADE () BEGIN-- RESOURCE.AUDIO_ATTRIBUTE IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.STATISTICS WHERE TABLE_SCHEMA = 'RESOURCE' AND TABLE_NAME =' AUDIO_ATTRIBUTE' AND INDEX_NAME = 'resource_publish_resource_id_index') THEN ALTER TABLE `AUDIO_ ATTRIBUTE` DROP INDEX resource_publish_resource_id_index; END IF;END$$DELIMITER; CALL UPGRADE (); DROP PROCEDURE IF EXISTS UPGRADE
Add fields dynamically
DROP PROCEDURE IF EXISTS UPGRADE;DELIMITER $$CREATE PROCEDURE UPGRADE () BEGIN-- HOMEWORK.HOMEWORK_QUESTION_GROUP.FROM_ID IF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'HOMEWORK' AND TABLE_NAME =' HOMEWORK_QUESTION_GROUP' AND COLUMN_NAME = 'FROM_ID') THEN ALTER TABLE `HOMEWORK_QUESTION_ GROUP` ADD COLUMN FROM_ID VARCHAR (50) NULL; END IF -- HOMEWORK.HOMEWORK_QUESTION_GROUP.QUESTION_TYPE IF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'HOMEWORK' AND TABLE_NAME =' HOMEWORK_QUESTION_GROUP' AND COLUMN_NAME = 'QUESTION_TYPE') THEN ALTER TABLE `HOMEWORK_QUESTION_ GROUP` ADD COLUMN QUESTION_TYPE VARCHAR (50) NULL; END IF -- HOMEWORK.HOMEWORK_QUESTION_GROUP.DIFFICULTY IF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'HOMEWORK' AND TABLE_NAME =' HOMEWORK_QUESTION_GROUP' AND COLUMN_NAME = 'DIFFICULTY') THEN ALTER TABLE `HOMEWORK_QUESTION_ GROUP` ADD COLUMN DIFFICULTY VARCHAR (50) NULL; END IF;END$$DELIMITER; CALL UPGRADE (); DROP PROCEDURE IF EXISTS UPGRADE On how to dynamically update the database in Mysql to share here, I hope the above content can be of some help to you, can learn more knowledge. If you think the article is good, you can share it for more people to see.