我收到了这个mysql错误:
1064 - 您的SQL语法出错;检查与MySQL服务器版本对应的手册,以获得正确的语法 在第1行'@password'附近
这是针对以下sql:
Update Teacher
SET TeacherSalt=@salt, TeacherPassword=SHA1(TeacherSalt @password)
我需要更改什么才能使这个sql工作?
更新:
需要帮助腌制PAssword。如果TeacherPassword和TeacherSalt列如下所示:
TeacherPassword TeacherSalt
cricket01
sachin01
priggy02
然后我做了这个陈述:
Update Teacher
SET TeacherSalt = @salt,
TeacherPassword = SHA1(CONCAT(@password,@salt))
然后,TeacherPassword和TeacherSalt列都提供空白行。如何成功加密密码?
答案 0 :(得分:2)
不是这样吗? (删除TeacherSalt
中的列SHA1
)
Update Teacher
SET TeacherSalt = @salt,
TeacherPassword = SHA1(CONCAT(@password,@salt))
答案 1 :(得分:0)
看起来您的语法已关闭,TeacherSalt
字段中有额外的Password
:
Update Teacher
SET TeacherSalt=@salt, TeacherPassword=SHA1(@password)
根据你的评论听起来你想要这个:
Update Teacher
SET TeacherSalt=@salt, TeacherPassword=SHA1(CONCAT(@password,@salt))
答案 2 :(得分:0)
我认为问题是你需要连接字符串。
Update Teacher
SET TeacherSalt=@salt, TeacherPassword=SHA1(@salt + @password)
答案 3 :(得分:0)
我认为你想粘上盐和密码。例如:
UPDATE Teacher
SET TeacherSalt = @salt, TeacherPassword = SHA1(CONCAT(@salt, @password))