mysql 存储过程 修改表属性_mysql存储过程——修改数据库的全部表的存储引擎

BEGIN

DECLARE bianliang varchar(128);

DECLARE done boolean default 0;

-- 定义游标

DECLARE Param_Cursor CURSOR FOR SELECT TABLE_NAME FROM information_schema.TABLES AS t WHERETABLE_SCHEMA = 'testyinqing' AND TABLE_TYPE = 'BASE TABLE';

-- 解决mysql Bug:no data - zero rows fetched,selected,or processed

DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1; -- 设置游标的终止条件

OPEN Param_Cursor; -- 打开游标

-- 遍历所有的行

FETCH NEXT FROM Param_Cursor INTO bianliang;-- 获取第一条数据存入临时变量中

REPEAT

BEGIN

START TRANSACTION;-- 开始事务

SET @mytabl = CONCAT('ALTER TABLE ',bianliang,' ENGINE=InnoDB ');

PREPARE stmt from @mytabl;

EXECUTE stmt;

-- 获取下一条数据存入临时变量中

FETCH NEXT FROM Param_Cursor INTO bianliang;

COMMIT;-- 提交事务

END;

UNTIL done END REPEAT; -- 结束循环

CLOSE Param_Cursor; -- 关闭游标

END

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值