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

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

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

来实现。

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

相关文章:

你感兴趣的文章:

标签云: