首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Mysql >

mysql存储过程使用接收到的参数做表名的有关问题

2012-03-03 
mysql存储过程使用接收到的参数做表名的问题DROP PROCEDURE IF EXISTS updateimageCREATE PROCEDURE upda

mysql存储过程使用接收到的参数做表名的问题
DROP PROCEDURE IF EXISTS updateimage;
CREATE PROCEDURE updateimage
(
$id int, 
$tablename varchar(20),
$img varchar(500)
)
BEGIN
IF $img !="" THEN
update $tablename set litpic=$img where aid=$id;
END IF;
END;

这一句有问题,
update $tablename set litpic=$img where aid=$id;
是 $tablename 的问题。。。

[解决办法]
MYSQL不支持表名做为变量。
你需要通过
PREPARE
EXECUTE
DEALLOCATE PREPARE
来实现。

热点排行