我收到此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列均提供空白行。如何成功为密码加盐?

最佳答案

不是这样吗(删除TeacherSalt中的SHA1列)

Update Teacher
SET    TeacherSalt = @salt,
       TeacherPassword = SHA1(CONCAT(@password,@salt))


SQLFiddle Example

09-26 03:49