2

为什么在我的 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;

当我进行查询时

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'

我收到一个错误:

#1062 - Duplicate entry '0' for key 'username_clean'
4

1 回答 1

7

使用UPDATE语句时,需要将要更新的列分隔为 aCOMMA而不是AND

UPDATE  phpbb_users 
SET     username_clean ='username' ,
        user_password ='$H$76MZf0m0LJ5T1Tkz/' , 
        user_email ='2mlrfc4b.wmk@email.com' ,
        username ='Username' 
WHERE   username_clean ='username'

更新

请注意,您正在更新 tablephpbb_users而不是phpbb_users_copy.

于 2012-12-25T13:06:53.090 回答