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

时间:2013-05-03 11:19:23

标签: mysql sql insert syntax-error

有谁能告诉我这个查询有什么问题:

INSERT `user` 
SET 
    `password` = SHA1('abc'), 
    `username` = 'admin'
ON DUPLICATE KEY UPADTE `password` = SHA1('abc')

结果是(MySQL 5.6.11):

  

SQL错误(1064):您的SQL语法中有错误;检查   手册,对应右边的MySQL服务器版本   在第5行'UPADTE password = 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] ... ]

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

谢谢!

1 个答案:

答案 0 :(得分:10)

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