一 造数据
CREATE TABLE `user_info` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(32) COLLATE utf8mb4_bin DEFAULT NULL,
`auth_key` varchar(32) COLLATE utf8mb4_bin DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) COMMENT='用户列表';
INSERT INTO `user_info`(`id`, `username`, `auth_key`) VALUES (1, 'jack', 'hello');
INSERT INTO `user_info`(`id`, `username`, `auth_key`) VALUES (2, 'lucy', 'kitty');
CREATE TABLE `class_info` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(32) COLLATE utf8mb4_bin DEFAULT NULL,
`auth_key` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL,
`user_id` varchar(32) COLLATE utf8mb4_bin DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) COMMENT='班级';
INSERT INTO `temp`.`class_info`(`id`, `username`, `auth_key`, `user_id`) VALUES (1, NULL, NULL, '1');
INSERT INTO `temp`.`class_info`(`id`, `username`, `auth_key`, `user_id`) VALUES (2, NULL, NULL, '2');
要求: 把user_info表里面的id对应class_info表中的user_id=id里面的 auth_key 和 user_name 更新过去
update class_info SET auth_key = (SELECT auth_key from user_info WHERE id = 1 ) WHERE user_id = 1
# 更新多行数据
UPDATE class_info a INNER JOIN (SELECT id,auth_key FROM user_info ) c ON a.user_id = c.id SET a.auth_key = c.auth_key