begin DECLARE cnt VARCHAR(100); -- 声明变量用来记录查询出的表名 DECLARE i int; -- 循环条件,同时可以用来标记表第几张表 set i = 0; -- 循环开始 while i < 131 do -- 这里是32是因为我的数据库中表的数量是32,想不写死可以通过再定义一个变量,动态赋值 select table_name into @cnt from information_schema.`TABLES` where TABLE_SCHEMA = 'admin_v4' limit i,1; -- select @cnt; -- mysql的打印语句 -- alter table @cnt convert to character set utf8; -- 这一句报错,必须动态拼接才行 set @sql = concat("alter table ", @cnt, " convert to character set utf8mb4 COLLATE utf8mb4_0900_ai_ci"); -- 拼接,注意语句中的空格 prepare stmt from @sql; -- 预处理 execute stmt; -- 执行 deallocate prepare stmt; -- 释放 set i = i + 1; end while; -- 循环结束,注意分号 end
批量更改mysql 排序编码
最新推荐文章于 2023-06-13 10:44:56 发布