我已经写了我的sql更新过程,但出现错误 [英] i have written a my sql update procedure but getting error

查看:65
本文介绍了我已经写了我的sql更新过程,但出现错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

CREATE PROCEDURE sp_update_userdetails
( 
firstname VARCHAR(300),lastname VARCHAR(300),email VARCHAR(300),`password` VARCHAR(200),`phone no` VARCHAR(300),photo VARCHAR(200)
)
BEGIN
IF EXISTS(SELECT * FROM user_details WHERE email=`email`)
(
UPDATE user_details SET firstname=firstname,lastname=lastname,`password`=`password`,`phone no`=`phone no`,
photo=photo
WHERE user_details.`email`=`email`)
ELSE
INSERT INTO user_details(`firstname`,lastname,`email`,`password`,`phone no`,photo)
VALUES 
(
 `firstname`,lastname,`email`,`password`,`phone no`,photo
);
END;


拜托,有人可以给我个好主意吗?

错误为[Err] 1064-您的SQL语法有错误;检查与您的MySQL服务器版本相对应的手册,以在''(
附近使用正确的语法 UPDATE user_details SET firstname = firstname,lastname = lastname,`password == pas''在第7行


Please, can anybody give mesome ideas?

and the error is [Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''(
UPDATE user_details SET firstname=firstname,lastname=lastname,`password`=`pas'' at line 7

推荐答案

请使用此:


Please Use this :


CREATE PROCEDURE sp_update_userdetails
(
@firstname VARCHAR(300),@lastname VARCHAR(300),@email VARCHAR(300),@password VARCHAR(200),@phoneno VARCHAR(300),@photo VARCHAR(200)
)
as
BEGIN
IF EXISTS(SELECT * FROM user_details WHERE email=@email)

UPDATE user_details SET firstname=@firstname,lastname=@lastname,password=@password,phoneno=@phoneno,photo=@photo
WHERE user_details.email=@email

ELSE
INSERT INTO user_details(firstname,lastname,email,password,phoneno,photo)
VALUES
(
@firstname,@lastname,@email,@password,@phoneno,@photo
);
END


这篇关于我已经写了我的sql更新过程,但出现错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆