我想寫一個簡單的存儲過程插入參數作爲表名稱和插入值。存儲過程不工作php mysql
DELIMITER $$
DROP PROCEDURE IF EXISTS TEST3;
CREATE PROCEDURE TEST3(IN tab_name VARCHAR(40),IN IDVALUE VARCHAR(40))
BEGIN
SET @t2 = CONCAT('INSERT INTO ? (id) VALUES(?)');
PREPARE stmt4 FROM @t2;
EXECUTE stmt4 USING @tab_name, @IDVALUE;
DEALLOCATE PREPARE stmt4;
END $$
DELIMITER ;
正在創建它,但是當我把它稱爲它拋出以下錯誤:
ERROR 1064(42000):你在你的SQL語法錯誤;檢查與您的MySQL服務器版本相對應的手冊,以便在''附近使用正確的語法'? (id)VALUES(?)'在行1
這是什麼我做錯了。
完美答案。我曾試着連接'tab_name',但不知道你提到的第二個問題。 – user2850305
這個語句對於參數IDVALUE的sql注入是否免疫? – user2850305
是的,它是免疫的。 – peterm