MySQL INSERT ... SET ... ON DUPLICATE KEY失败......困惑

Rol*_*olf 1 mysql sql insert syntax-error

任何人都可以告诉我这个查询有什么问题:

INSERT `user` 
SET 
    `password` = SHA1('abc'), 
    `username` = 'admin'
ON DUPLICATE KEY UPADTE `password` = SHA1('abc')
Run Code Online (Sandbox Code Playgroud)

它导致(MySQL 5.6.11):

SQL错误(1064):您的SQL语法中有错误; 检查与MySQL服务器版本对应的手册,以便password在第5行使用'UPADTE = SHA1('abc')附近的正确语法

但我无法弄清楚我的语法有什么问题.从MySQL手册:

INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]
    [INTO] tbl_name
    SET col_name={expr | DEFAULT}, ...
    [ ON DUPLICATE KEY UPDATE
      col_name=expr
        [, col_name=expr] ... ]
Run Code Online (Sandbox Code Playgroud)

资料来源:http://dev.mysql.com/doc/refman/5.5/en/insert.html

谢谢!

Ski*_*pes 10

在sql语句中检查UPDATE的拼写.它应该是UPDATE而不是UPADTE.

  • 哦,废话......好的谢谢 (4认同)