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 的问题
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 的问题
解决方案 »
- 为什么流量大的网站不使用join
- The used SELECT statements have a different number of columns
- 在线求:一道sql问题!!
- mysql 最后支持bdb的是哪个版本?
- 【在线等】怎样查找数据表中所有不为空的SQL语句!
- 救命阿,插入数据时有些中文无法显示,使用MySQLCC
- mysql中先判断table存在再删除的语句如何写,即if exists如何使用
- RH 7.3中文版下安装mysql 4.0max的问题
- 请教一个缓存命中的问题,Qcache_not_cached和Buffer pool hit rate
- 大家帮我看看这条sql要怎么建索引
- mysql event schedule问题
- phpMyAdmin安装问题
你需要通过
PREPARE
EXECUTE
DEALLOCATE PREPARE
来实现。
CREATE PROCEDURE updateimage
(
$id int,
$tablename varchar(20),
$img varchar(500)
)
BEGIN
IF $img !="" THEN
set @sql = concat('update ',$tablename,' set litpic=\'',$img,'\' where aid=',$id);
PREPARE stmt1 FROM @sql;
EXECUTE stmt1;
DEALLOCATE PREPARE stmt1;
END IF;
END;