我想用表名做参数,然后再填写该表,但是遇到问题就是insert与concat结合使用时候,好像‘’(单引号)不怎么会使用,有经验的帮忙解决下。
CREATE PROCEDURE `Joingroup`(IN `gName` varchar(20),IN `uID` int,IN `uPosition` int)
BEGIN
set @sqltext:=CONCAT('insert into ',gName,'(userid,position)VALUES('@uID','@uPosition')');
prepare sqlstr from @sqltext;
execute sqlstr;
END;另外,我不是很明白PREPARE的作用,有没有通俗点的解释呢~ 谢谢各位~
CREATE PROCEDURE `Joingroup`(IN `gName` varchar(20),IN `uID` int,IN `uPosition` int)
BEGIN
set @sqltext:=CONCAT('insert into ',gName,'(userid,position)VALUES('@uID','@uPosition')');
prepare sqlstr from @sqltext;
execute sqlstr;
END;另外,我不是很明白PREPARE的作用,有没有通俗点的解释呢~ 谢谢各位~
BEGIN
set @sqltext:=CONCAT('insert into ',gName,'(userid,position)VALUES(',uIDk',',uPosition,')');
prepare sqlstr from @sqltext;
execute sqlstr;
END;
BEGIN
set @sqltext:=CONCAT('insert into ',gName,'(userid,position)VALUES(',uID,',',uPosition,')');
prepare sqlstr from @sqltext;
execute sqlstr;
END;
这样就对了~ 谢谢了~~