我有一个表,我存储userinfo。每个用户都有一个唯一的用户标识,但其他信息各不相同。如何设置一个MySQL表与UPDATE WHERE语句一起使用
当我尝试运行一个语句更新该表,其中userid = $ userid,我得到一个Duplicate entry 'XXX' for key 'userid'
其中XXX是他们的userid。
我有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;
你使用PHP来做查询吗? – RageZ 2009-11-13 07:55:09
thta的很奇怪,Mysql基本上说你试图做INSERT,而不是UPDATE。检查你的代码。 – dusoft 2009-11-13 07:58:27
<?回声“是的,我是”; ?> – mrpatg 2009-11-13 07:58:51