我第一次尝试创建一个简单的存储过程。我已经对网络进行了搜索并发现了几个教程,但在尝试创建INSERT过程时仍然遇到一些错误?
我正在尝试这个:
DELIMITER //
CREATE PROCEDURE my_insert(IN fname VARCHAR(50),IN lname VARCHAR(50))
BEGIN
SET @fname=fname;
SET @lname=lname;
PREPARE STMT FROM
"INSERT INTO users(fname,lname) VALUES (?,?)";
EXECUTE STMT USING @fname,@lname;
END
我收到此错误: #1064 - 您的SQL语法出错;检查与MySQL服务器版本对应的手册,以便在'my_insert(IN fname VARCHAR(50),IN lname VARCHAR(50))附近使用正确的语法。在第1行开始设置@ fname = fn'
希望得到帮助并提前致谢: - )
答案 0 :(得分:1)
您使用“而不是”。这是您查询中的错误。正确的查询在下面给出
DELIMITER //
CREATE PROCEDURE my_insert(IN fname VARCHAR(50),IN lname VARCHAR(50))
BEGIN
SET @fname=fname;
SET @lname=lname;
PREPARE STMT FROM
'INSERT INTO users(fname,lname) VALUES (?,?)';
EXECUTE STMT USING @fname,@lname;
END //
或者你可以简单地使用
DELIMITER //
CREATE PROCEDURE my_insert(IN fname VARCHAR(50),IN lname VARCHAR(50))
BEGIN
INSERT INTO users(`fname`,`lname`) VALUES (fname,lname);
END //