要求:

替换成

测试数据:
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中将一张表的一个字段的值替换为另一个字段的值,提供了两种方法。方法一是直接使用SET操作,方法二是通过创建临时表进行数据同步。这两种方法适用于需要更新字段数据的情况。
1539

被折叠的 条评论
为什么被折叠?



