mysql,同一张表中的一个字段的值替换另一个字段

要求:
mysql,同一张表中的一个字段的值替换另一个字段_第1张图片

替换成
mysql,同一张表中的一个字段的值替换另一个字段_第2张图片

测试数据:

CREATE TABLE `test`  (
  `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  `value` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 8 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of test
-- ----------------------------
INSERT INTO `test` VALUES (1, 'a');
INSERT INTO `test` VALUES (2, 'b');
INSERT INTO `test` VALUES (3, 'c');
INSERT INTO `test` VALUES (4, 'd');
INSERT INTO `test` VALUES (5, 'e');

方法一:

以前以为set就是:key = value,没想到可以直接将两个字段放上去进行赋值。

UPDATE test SET value = id;
-- 若有其他条件往后面添加就行 update table set field1 = field2 where ...

方法二:

这种方法针对两个表的数据同步

update A inner join(select id,name from B) c on A.id = c.id set A.name = c.name;

用在这里就是创建一个临时表(将test表复制一份),然后使用这种方法。

你可能感兴趣的:(#,mysql,mysql)