資料表結構如下:
DROP TABLE IF EXISTS `wowowo`;
CREATE TABLE `wowowo` (
`guid` bigint(10) NOT NULL,
PRIMARY KEY (`guid`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
資料內容:
INSERT INTO`wowowo` (`guid`) VALUES ('1');
INSERT INTO `wowowo` (`guid`) VALUES ('2');
INSERT INTO `wowowo` (`guid`) VALUES ('3');
INSERT INTO `wowowo` (`guid`) VALUES ('4');
INSERT INTO `wowowo` (`guid`) VALUES ('5');
我想批量更新表guid 值 + 1
UPDATE `wowowo` SET `guid`=guid+1;
報錯:[Err] 1062 - Duplicate entry '2' for key 'PRIMARY'
請問要怎么樣才能批量把guid值+1啊
uj5u.com熱心網友回復:
DROP TABLE IF EXISTS `wowowo`;
CREATE TABLE `wowowo` (
`guid` bigint(10) NOT NULL,
PRIMARY KEY (`guid`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
INSERT INTO`wowowo` (`guid`) VALUES ('1');
INSERT INTO `wowowo` (`guid`) VALUES ('2');
INSERT INTO `wowowo` (`guid`) VALUES ('3');
INSERT INTO `wowowo` (`guid`) VALUES ('4');
INSERT INTO `wowowo` (`guid`) VALUES ('5');
ALTER TABLE `wowowo` drop PRIMARY KEY;
UPDATE `wowowo` SET `guid` = `guid` + 1;
ALTER TABLE `wowowo` ADD PRIMARY KEY (`guid`);
SELECT * from `wowowo`;
uj5u.com熱心網友回復:
因為guid是主鍵,所以不能有重復資料uj5u.com熱心網友回復:
有重復的資料。uj5u.com熱心網友回復:
UPDATE `wowowo` SET `guid`=guid+1 order by guid desc;
uj5u.com熱心網友回復:
樓上牛!!!!轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/96674.html
標籤:MySQL
上一篇:欄位長度問題
