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で区切る必要があります。COMMAAND

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

アップデート

phpbb_usersではなくテーブルで更新していることに注意してくださいphpbb_users_copy

于 2012-12-25T13:06:53.090 に答える