MySQL用其他表中的名称替换id

时间:2012-11-25 08:53:04

标签: mysql join replace username userid

我正在使用

SELECT m.id, r.username AS `from`, s.username AS `to`, m.message
FROM msgs m
INNER JOIN usrs r ON r.user_id = m.from
INNER JOIN usrs s ON s.user_id = m.to;

用消息的“from”和“to”列中的用户名替换用户id,然后将其输出到mysql的文件usrmsgs< script.sql> output.txt的

我想用msgs表本身中的'from'和'to'替换用户id,并使用usrs中相应的用户名。最好的方法是什么?

1 个答案:

答案 0 :(得分:0)

alter table msgs add column from_name varchar(<size>), add column to_name varchar(<size>);

update msgs m 
join usrs r ON r.user_id = m.from
join usrs s ON s.user_id = m.to
SET m.from_name = r.username, m.to_name = s.username;

alter table msgs drop column from, drop column to;
相关问题