0

私は使用しています

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;

メッセージの「送信元」列と「送信先」列のユーザー ID をユーザー名に置き換え、それを mysql usrmsgs < script.sql > output.txt でファイルに出力します。

msgs テーブル自体の「from」と「to」のユーザー ID を、usrs の対応するユーザー名に置き換えたいと思います。これを行う最善の方法は何ですか?

4

1 に答える 1

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;
于 2012-11-25T09:26:07.187 に答える