0

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

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')// 但我得到了错误。

4

1 回答 1

0

缺少空格

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

产生查询

INSERT INTO sometablevalues(ano)
于 2012-08-08T18:28:42.710 回答