java cursor 删除_Java培训MySQL之批量删除某个表上的所有索引

批量删除某个表上的所有索引

1 删除索引的存储过程

DELIMITER $$

CREATE  PROCEDURE `proc_drop_index`(dbname VARCHAR(200),tablename VARCHAR(200))

BEGIN

DECLARE done INT DEFAULT 0;

DECLARE ct INT DEFAULT 0;

DECLARE _index VARCHAR(200) DEFAULT ”;

DECLARE _cur CURSOR FOR  SELECT   index_name   FROM information_schema.STATISTICS   WHERE table_schema=dbname AND table_name=tablename AND seq_in_index=1 AND    index_name <>’PRIMARY’  ;

DECLARE  CONTINUE HANDLER FOR NOT FOUND set done=2 ;

OPEN _cur;

FETCH   _cur INTO _index;

WHILE  _index<>” DO

SET @str = CONCAT(“drop index “,_index,” on “,tablename );

PREPARE sql_str FROM @str ;

EXECUTE  sql_str;

DEALLOCATE PREPARE sql_str;

SET _index=”;

FETCH   _cur INTO _index;

END WHILE;

CLOSE _cur;

END$$

2 执行存储过程

调用:CALL proc_drop_index(“dbname”,”tablename”);

上一篇: 前端培训-写 React/Vue 项目时为什么要在组件中写 key

下一篇: Java培训MySQL之全值匹配

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值