首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mysql - Concat - Procedure执行失败

Mysql - Concat - Procedure执行失败
EN

Stack Overflow用户
提问于 2012-06-18 20:10:29
回答 1查看 510关注 0票数 0

我还有123张表: M001 -> M010 -> M123。每一个都是一个客户端。当它使用触发器到达父表的记录时,调用如下函数:

代码语言:javascript
复制
  Declare MasterX  int;
  Set MasterX = New.Master;
  Call Lecturas_Insertar(MasterX,New.Id);

这是我的函数:

代码语言:javascript
复制
BEGIN

#Set Master
  If MasterX < 10 Then 
  Set MasterX = Concat("lecturas.M00",MasterX);
  End If;
#Set Master
  If MasterX Between 10 and 99 Then 
  Set MasterX = Concat("lecturas.M0",MasterX);
  End If;

  set @a=concat("INSERT INTO ",MasterX, "(Id) Values(" ,Id, ")");
  PREPARE stmt1 FROM @a;
  EXECUTE stmt1; 
  DEALLOCATE PREPARE stmt1;

END

但它总是抛出以下错误:

代码语言:javascript
复制
  Procedure execution failed
  1146 - Table 'lecturas.M' does not exist

感谢所有人的帮助

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-18 22:20:29

试试这个脚本-

代码语言:javascript
复制
BEGIN
  SET @a = CONCAT('INSERT INTO lecturas.M', LPAD(MasterX, 3, 0), '(Id) Values(', Id, ')');
  PREPARE stmt1 FROM @a;
  EXECUTE stmt1; 
  DEALLOCATE PREPARE stmt1;
END
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11082557

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档