質問: **前提** **A(人)テーブル ... b_idカラム、都道府県カラム** **B(マスター)テーブル ... idカラム、都道府県カラム** ・AとBの関係は多対1 ・b_idカラムの中身は空 ・両テーブルの都道府県カラムには、神奈川県などの文字列が格納されています ・b_idカラム、idカラム ... int ・都道府県カラム ... varchar --- **やりたいこと** ・ABテーブルの都道府県カラム内容(の文字列)が一致していたら、Aテーブルのb_idカラムを、Bテーブルのidカラムの値で上書き更新したい ・どうすれば良いでしょうか? ALTER TABLE B.b_id???
回答: によると、 ``` UPDATE A,B SET A.b_id = B.id where A.pref = B.pref; ``` のようですね、MySQLでは。 老婆心ながら、この更新はAテーブルのほぼ全件に更新がかかり、A,Bテーブルがその間ロックされるでしょうから運用中にやれば運用に支障が出るでしょう。