CURD语句如何使用我这个表名变量呢

K-dash K-dash 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
以下构造数据的储存过程,我企图让tableName这个参数控制创建的表名


delimiter //
DROP PROCEDURE IF EXISTS mockData//
CREATE PROCEDURE mockData(IN tableName VARCHAR(20), IN rowCount INT)
BEGIN
DECLARE insertCount INT;

SET insertCount = 0;
DROP TABLE IF EXISTS tableName;
CREATE TABLE tableName (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`name` VARCHAR(20) NOT NULL,
`age` TINYINT(3) NOT NULL,
PRIMARY KEY (`id`),
KEY `name` (`name`),
KEY `age` (`age`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;

start transaction;
loop_handler : LOOP
INSERT INTO tableName(`name`,`age`) VALUES( rand_string(20), ceil(rand()*110) );
set insertCount = insertCount + 1;
if (insertCount >= rowCount) then
leave loop_handler;
end if;
end LOOP loop_handler;
commit;
END;//
delimiter ;


但是它直接就是创建了一个叫tableName的表名,我找了一些资料并没有发现能教我在类似insert into语句里让那个tableName转义成我所定义的IN参数里的tableName
...全文

相关推荐

评论 5
收藏 已收藏
分享
返回顶部
K-dash
MySQL 57,062 成员 56,759 内容