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

要求:
原数据

替换成
替换后的数据

测试数据:

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表复制一份),然后使用这种方法。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部