背景
由于历史遗留问题,初始化系统时需要进行数据迁移,修改数据
update语句
update表a别名1, 表b别名2, set别名1.字段=别名2.字段where别名1.字段=别名2.字段;
示例
创建一张表
CREATETABLE`user` ( `id`int(11) NOTNULLAUTO_INCREMENT, `user_name`varchar(10) DEFAULTNULLCOMMENT'用户名', `nick_name`varchar(50) DEFAULTNULLCOMMENT'昵称', PRIMARYKEY (`id`) ) ENGINE=InnoDBDEFAULTCHARSET=utf8COMMENT='用户信息表';
添加数据
INSERTINTOuser(id, user_name, nick_name) VALUES('1', '张三', NULL); INSERTINTOuser(id, user_name, nick_name) VALUES('2', '李四', NULL);
数据示例
SELECT*FROMuser;
初始化数据用户名到昵称
UPDATEusera, (select*fromuser) bseta.nick_name=b.user_nameWHEREa.id=b.id;
结果