简体   繁体   English

MySQL表插入存储过程

[英]Mysql table insertion stored procedure

I want to insert data into a table whose tablename and values are being passed from the user in the stored procedure. 我想在存储过程中从用户传递其表名和值的表中插入数据。

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 //

I'm calling the function as follows CALL tableinsertion('account','110')// But I'm getting the error. 我正在按如下方式调用该函数CALL tableinsertion('account','110')//但是我遇到了错误。

Missing spaces 缺少空格

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

which produces the query 产生查询

INSERT INTO sometablevalues(ano)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM