#1062 - 密钥'username_clean'重复输入'0'

Joh*_*ith 2 mysql sql sql-update

为什么在我的MySQL表中

CREATE TABLE IF NOT EXISTS `phpbb_users_copy` (
  `username` varchar(255) COLLATE utf8_bin NOT NULL DEFAULT '',
  `username_clean` varchar(255) COLLATE utf8_bin NOT NULL DEFAULT '',
  `user_password` varchar(40) COLLATE utf8_bin NOT NULL DEFAULT '',
  `user_email` varchar(100) COLLATE utf8_bin NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
Run Code Online (Sandbox Code Playgroud)

当我做一个查询

UPDATE  phpbb_users 
SET     username_clean ='username' AND 
        user_password ='$H$76MZf0m0LJ5T1Tkz/' AND 
        user_email ='2mlrfc4b.wmk@email.com' AND 
        username ='Username' 
WHERE username_clean ='username'
Run Code Online (Sandbox Code Playgroud)

我收到一个错误:

#1062 - Duplicate entry '0' for key 'username_clean'
Run Code Online (Sandbox Code Playgroud)

Joh*_*Woo 7

当使用UPDATE语句时,您需要将要更新的列分隔为a COMMA而不是aAND

UPDATE  phpbb_users 
SET     username_clean ='username' ,
        user_password ='$H$76MZf0m0LJ5T1Tkz/' , 
        user_email ='2mlrfc4b.wmk@email.com' ,
        username ='Username' 
WHERE   username_clean ='username'
Run Code Online (Sandbox Code Playgroud)

UPDATE

请注意您正在更新桌面phpbb_users而不是更新phpbb_users_copy.