我有一个存储用户信息的表。每个用户都有一个唯一的用户 ID,但他们的其余信息各不相同。
当我尝试运行一条语句来更新该表时,其中 userid = $userid,我得到一个Duplicate entry 'XXX' for key 'userid'
其中 XXX 是他们的用户 ID。
我将 userid 字段设置为唯一的,但显然我在某处做错了什么。
这是我的声明
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;