我有一個表,我存儲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