ユーザー情報を保存するテーブルがあります。各ユーザーには固有のユーザー ID がありますが、残りの情報はさまざまです。
そのテーブルを UPDATE するステートメントを実行しようとすると、userid = $userid で、Duplicate entry 'XXX' for key 'userid'
XXX がユーザー ID であるというメッセージが表示されます。
ユーザーIDフィールドを一意に設定していますが、明らかにどこかで何か間違ったことをしました。
これが私の声明です
UPDATE `users` SET `screenname` = '$screenname' ,`real_name` = '$real_name' ,`profimg` = '$profimg' WHERE `userid` = '$userid'
テーブル構造
CREATE TABLE `users` (
`userid` int(11) NOT NULL,
`screenname` text COLLATE utf8_unicode_ci NOT NULL,
`real_name` text COLLATE utf8_unicode_ci NOT NULL,
`profimg` text COLLATE utf8_unicode_ci NOT NULL,
UNIQUE KEY `userid` (`userid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;