Mysql表插入存储过程

时间:2012-08-08 18:26:57

标签: mysql stored-procedures

我想将数据插入到一个表中,该表的表名和值是从存储过程中的用户传递的。

enter code here
mysql> DELIMITER //
mysql> CREATE PROCEDURE tableinsertion(IN tablename varchar(20),IN ano int(10))
-> BEGIN
-> SET @s=CONCAT('INSERT INTO ', tablename, 'values', (ano));
-> PREPARE stmt FROM @s;
-> EXECUTE stmt;
-> END //

我正在调用该函数如下 CALL tableinsertion('account','110')// 但是我收到了错误。

1 个答案:

答案 0 :(得分:0)

缺少空格

SET @s=CONCAT('INSERT INTO ', tablename, 'values', (ano));
                                          ^-----^---here

生成查询

INSERT INTO sometablevalues(ano)