1. 程式人生 > 其它 >MySQL把一張表的一個欄位的內容放到另一張表

MySQL把一張表的一個欄位的內容放到另一張表

技術標籤:MySQL

0.碼仙勵志

強者征服今日,懦夫哀嘆昨日,懶漢坐等明天。

1.準備資料

CREATE TABLE `table1`  (
  `id` int(11) NOT NULL,
  `name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT =
Compact; INSERT INTO `table1` VALUES (1, 'a1'); INSERT INTO `table1` VALUES (2, 'a2'); INSERT INTO `table1` VALUES (3, 'a3'); INSERT INTO `table1` VALUES (4, 'a4'); INSERT INTO `table1` VALUES (5, 'a5'); CREATE TABLE `table2` ( `id` int(11) NOT NULL, `name` varchar(20) CHARACTER SET utf8mb4 COLLATE
utf8mb4_general_ci NULL DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Compact; INSERT INTO `table2` VALUES (1, NULL); INSERT INTO `table2` VALUES (2, NULL); INSERT INTO `table2` VALUES (3, NULL); INSERT INTO `table2`
VALUES (4, NULL); INSERT INTO `table2` VALUES (5, NULL);

在這裡插入圖片描述
在這裡插入圖片描述

2.把table1中的那麼更新到table2

# 方法一
update table2 set table2.name = (select table1.name from table1 where table1.id = table2.id);
# 方法二
UPDATE table2 INNER JOIN table1 ON table2.id = table1.id SET table2.name = table1.name;
# 方法三
UPDATE table2,table1 SET table2.name=table1.name WHERE table2.id = table1.id;

在這裡插入圖片描述