如果userinfo表中存在idx_name索引,则先删除再添加。否则直接添加索引
使用事务添加索引
#添加索引说明 USE test;/*库名*/ DROP PROCEDURE IF EXISTS schema_change; DELIMITER // CREATE PROCEDURE schema_change() BEGIN DECLARE CurrentDatabase VARCHAR(100); SELECT DATABASE() INTO CurrentDatabase; IF NOT EXISTS (SELECT * FROM information_schema.statistics WHERE table_schema=CurrentDatabase AND table_name ='userinfo'/*表名*/ AND index_name = 'idx_uname'/*字段名*/ ) THEN ALTER TABLE `userinfo` ADD INDEX `idx_uname` (`uname` ASC); ELSE ALTER TABLE `userinfo` DROP INDEX `idx_uname` ,ADD INDEX `idx_uname` (`uname` ASC); END IF; #如需继续修改其他字段,请在这里复制以上 IF NOT----END IF部份,并修改 END// DELIMITER ; CALL schema_change();
创建索引,除了ALTER TABLE还可以使用create index
create index idx_uname on userinfo (uname);