Mysql存储过程获取表名作为参数

问题描述:

我有一个向表插入一行的mysql过程。是否有可能将表的名称作为参数传递?Mysql存储过程获取表名作为参数

我试过并得到一个未知的表格异常。

编辑:

我的过程是从一个insaid叫trriger:

CREATE PROCEDURE `blabla`(tableName VARCHAR(255), var1 VARCHAR(255), var2 VARCHAR(255), var3 VARCHAR(255)) 
BEGIN 
      INSERT INTO tableName 
      SET 
       var1 = var1, 
       var2= var2, 
       var3= var3; 

END 

的错误:错误1146:1146:表 'xxx_xx_admin.tableName' 不存在

+1

后你尝试过什么...... – 2014-10-07 08:37:58

+0

显示您的查询和错误你得到 – 2014-10-07 08:39:12

+0

这是可能的。 – 2014-10-07 08:39:47

这是可能的,但前提是你使用动态SQL来构建你的SQL。 MySQL使用PREPAREEXECUTE来实现这个功能。

How To have Dynamic SQL in MySQL Stored Procedurehttp://rpbouman.blogspot.de/2005/11/mysql-5-prepared-statement-syntax-and.html