表:CREATE TABLE `test` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`name` varchar(100) DEFAULT NULL,
`tag` varchar(10) DEFAULT NULL,
UNIQUE KEY `id` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8
INSERT INTO test SET NAME = '11111111'
INSERT INTO test SET NAME = '22222222'
INSERT INTO test SET NAME = '33333333'UPDATE test SET tag = 'abc'不能这样
UPDATE test SET NAME = (SELECT NAME FROM test WHERE id=2) WHERE tag = 'abc'就是把相同 tag 的记录更新name 内容为 id = 2 的 name 内容。.......
UPDATE test a,test b
SET a.NAME=b.NAME
WHERE b.id=2 AND a.tag='abc';
ON b.id=2 AND a.tag='abc'
SET a.NAME=b.NAME