关于mysql 建表的问题 使用变量做表名的问题 20

以下语句建表错误请问如果改createtableconcat('val','00')select*fromtablewhereasdlikeconcat('11','00... 以下语句建表错误 请问如果改
create table concat('val','00') select * from table where asd like concat('11','00');
如果使用循环 请问如何建表
delimiter //
create procedure a()
declare @a integer(1);
set @a = 1 ;
while @a <=10 do
create tabel concat('111',@a)
(.....
);
ehd while;
end //
请问以上的语句那里错了?
还有就是变量a之前的符号是@a 还是$a
满意加分 谢谢!
展开
 我来答
adai900711
2013-12-26 · 超过11用户采纳过TA的回答
知道答主
回答量:44
采纳率:100%
帮助的人:24万
展开全部
变量a之前的符号是@
shell前面是$
MYSQL不支持直接使用变量做表名

创建存储过程
begin
DECLARE dbName VARCHAR(30);

SET dbName = 'aaa';

SET @STMT :=CONCAT("CREATE TABLE ",dbName," SELECT id from gamedb;");

PREPARE STMT FROM @STMT;

EXECUTE STMT;

END
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式