mysql 存储过程 alter table传参数问题

fck003 2012-08-17 03:10:41
存储过程如下:
create procedure p()
begin
declare a char;
declare b char;
set a='a';
set b='b';
alter table table_name modify vol set(a,b);--vol为set类型
end;

报错说set(a,b)有问题,直接set('a','b')没有问题。

想问的是
1)alter不能传参数么,如果不能应该怎么写,因为set默认值要来回改,希望能做成变量的。
2)怎么获得原来的set类型默认值
...全文
175 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
fck003 2012-08-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
什么样需求需要不停的变表结构。。。。
[/Quote]
...亲 又来回我帖子了 谢谢啦~ 就是要存储一些事务,完成后删除,有新的要加入里面。
搜了办天
解决了
办法比较囧:
CREATE PROCEDURE p11 ()
BEGIN
set @a='aaa';
set @b='bbb';
set @link="','";
set @last="')";
set @tmp= "alter table test001 modify type set('";
set @tmp= concat(@tmp,@a,@link,@b,@last);
prepare change_vol from @tmp;
execute change_vol ;
END;//
rucypli 2012-08-17
  • 打赏
  • 举报
回复
什么样需求需要不停的变表结构。。。。

56,677

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧