2012-08-08 74 views
0

我想要將數據插入表中的表名和值從存儲過程中的用戶傳遞。Mysql表插入存儲過程

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( '賬戶', '110')// 但我得到的錯誤。

回答

0

缺少空格

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

產生查詢

INSERT INTO sometablevalues(ano) 
+0

還是一樣的錯誤說你必須在3號線即SET @ S = CONCAT( 'INSERT INTO' 的錯誤,表名,「值',(ano)); – 2012-08-08 20:22:00