如果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);